整形提升-C语言

整型提升的原则:当一个小字节数,向大字节数转换时,有符号补0或1,无符号补0;

为什么会发生测试结果呢,让我们来看一下

在64位的环境中char是1个字节8位

char a=1;

1000 0001 原码 整形提升 11111111 11111111 11111111 11111111 补

1111 1110 反码 10000000 00000000 0000000 0000000 反码

1111 1111 补码 请看右边 10000000 00000000 0000000 0000001 原码

计算机中存的是补码(计算机识别):转换时要化为源码(人类识别) 结果为-1;

unsigned char b=-1;

1000 0001 源码 整形提升 00000000 00000000 00000000 11111111 补码

1111 1110 反码 00000000 00000000 00000000 11111111 反码

1111 1111 补码 00000000 00000000 00000000 11111111 原码

2^8-1=255;(原反补相同)

32位 64位

char 1 1

short 2 4

指针 4 8

int 4 4

double 8 8

float 4 4

long 4 8

longlong 8 8

相关推荐
暮色_年华8 分钟前
嵌入式C语言自我修养:C语言的模块化的编程思想
c语言
大母猴啃编程1 小时前
数据结构---非线性--树
c语言·数据结构·学习·算法·青少年编程
码农探知2 小时前
鹏哥C语言自定义笔记重点(67-)
c语言·数据结构
追逐远方的梦2 小时前
二级C语言2023-3易错题
c语言·开发语言
kid_sup2 小时前
C语言错题本
c语言·开发语言
小林熬夜学编程4 小时前
C++第五十一弹---IO流实战:高效文件读写与格式化输出
c语言·开发语言·c++·算法
尸僵打怪兽4 小时前
软考(中级-软件设计师)(0919)
java·c语言·数据库·计算机网络·软考·多媒体·软件设计师
轩轶子6 小时前
【C-项目】网盘(一期,线程池版)
服务器·c语言
m0_631270406 小时前
高级c语言(五)
c语言·开发语言
2401_858286116 小时前
53.【C语言】 字符函数和字符串函数(strcmp函数)
c语言·开发语言