•第一关:
整型常量有三种表示方法:
1 十进制整数
2 八进制整数:以0开头的数,如0376是八进制数
3 十六进制整数:以0x开头的数,如0×4a3e是十六进制数
第二关:
一个正数的补码和其原码相同。
求负数的补码的方法是:将该数的绝对值的二进制形式,按位取反加1。
如-10的16位二进制形式为0000000000001010,按位取反后为1111111111110101,再加1为1111111111110110
第三关:
一个16位的整数的表示范围为:-32768~32767
你应该知道原因。因为0000000000000000表示0,而1000000000000000表示-32768
第四关:
如果要表示大于32767的整数,则需要在printf里用%ld,而不能再用%d了,因为%d只能表示最大到32767
第五关:
一个整常量后面加上u或U,就表示此常量为无符号数。如12345u或12345U,则计算机就会在内存里按unsigned int规定的方式来存放。
如果是-12345u,那么计算机会先将-12345转换为其补码形式53191,然后再按无符号数形式存放。
如果一个整常量后面加字母l或L,则表示为long int型常量。
第六关:
当计算机遇到一个小数,则会先将它转换成一个双精度数据存储(64位),虽然提高了精度,但这样运算速度就会降低。所以如果我们更注重运算速度,可以在小数后面加上f或F,来告诉计算机按单精度处理,不要转换为双精度数。