以下内容为自学笔记缺乏严谨性,如有错误和不足请大佬指正
(1)基本数据类型转换包括哪两种方式?
自动类型转换 强制类型转换
(2)3+4.F+5LL表达式结果的数据类型?
float,这里看第一条原理
自动类型转换原理
①整型存储形态向浮点型存储形态转换
②同一存储形态:字节少的向字节多的转换
③同一类型:有符号向无符号的转换
(3)char a = -1; a/2的结果?
0
二进制乘除法有自己的算法 不是说÷2就是右移操作。 只不过正整数下 ÷2和右移1位结果相同。这里我们看-1/2 就用口算即可 也就是-0.5,小数部分舍弃,也就是0
(4)unsigned char a = -1; a/2的结果?
127
unsigned char a = -1;在内存中就是1111,1111,是无符号就是255,255/2就是127.5由于是整形不保留小数部分也就是127,正整数下 ÷2和右移1位结果相同二进制中可以看成右移一位0111,1111也就是127,计算结果的类型是int因为2是常量而常量的最小类型就是int,前面1111,1111是简写其实是24个0加8个1