求亲们,关于数据类型的问题
整型常量无符号的短整型和符号短整型的取值范围是如何算出来的?为什么无符号是0~65535,符号短整型是-32768~32767?{:10_269:} 本帖最后由 人造人 于 2017-5-18 23:52 编辑sizeof(short int) == 2
短整型在我的环境中占2个字节
如果无符号,那就用16位全部表示正数(1个字节8位,2个字节16位)
2的16次方等于65536(是从1数到65536,一共有65536个数,如果从0数,应该是0~65536-1)
2的16次方减1等于65535
无符号 0~65535
如果有符号,那就用一半来表示负数,另一半表示正数,8位表示负数,8位示正数
2的16次方等于65536
除以2等于 32768
从1数到32768
从-1数到-32768
还有一个0,在正数中减一个
从0数到32768-1(也就是0~32767)
所以有符号-32768~32767 无符号短整型变量说明它是非负数,所以最高位不是符号,而是数据;因为短整型是2字节,16位的,所以表示的范围就是 0~0xFFFF 即 0~(2^16-1),也就是0~65535.
而短整型变量说明它是有符号位的,即最高位是符号为0是正数,为1是负数;所以范围是:-2^15~2^15-1也就是-32768~32767 人造人 发表于 2017-5-18 23:51
sizeof(short int) == 2
短整型在我的环境中占2个字节
谢谢,亲{:10_297:} 当回首遇上转身 发表于 2017-5-18 23:56
无符号短整型变量说明它是非负数,所以最高位不是符号,而是数据;因为短整型是2字节,16位的,所以表示的 ...
谢谢,亲{:10_297:} 建议你去看一下小甲鱼的视频,讲解的你会懂得 基础的还是要多看多学啊
页:
[1]