济南网站制作创意,网站建设维护公司,织梦网站修改教程视频,wordpress 灯箱 插件整形提升#xff1a;
表达式中字符和短整型操作数在使用之前转换为普通整形
分为两种#xff1a;
有符号整形提升#xff1a;按照变量的数据类型的符号位来提升
无符号整形提升#xff1a;按照高位补0的方式及进行提升
例如#xff1a;char a20#xff1b;char b130…整形提升
表达式中字符和短整型操作数在使用之前转换为普通整形
分为两种
有符号整形提升按照变量的数据类型的符号位来提升
无符号整形提升按照高位补0的方式及进行提升
例如char a20char b130char cab求出c的值
20的二进制编码为//00000000000000000000000000010100
因为char占一个字节所以采用截取的方式保留8位 所以在char中20的二进制编码为//00010100 同理130为//10000010
进行相加时如以上方式按照符号位进行提升char是否是signed char取决于编译器
所以20对应//00000000000000000000000000010100 130对应//11111111111111111111111110000010
按位进行相加加完后是//11111111111111111111111110010110 这是补码的形式
求出原码符号位不变取反加一//1000000000000000000000001101010
c在char中所以截取8位为//01101010 为106所以c的值为-106
算数转换
讨论的是类型大于整形的的实现
向上转换1long double 2:double 3:float 4:unsigned long int 5:long int 6:unsigned int 7:int
例如int a10float c20则zc就是float类型的要向上转换