短整型为什么最大值和最小值是那样的?
答案:1 悬赏:0
解决时间 2021-10-19 18:15
- 提问者网友:半生酒醒
- 2021-10-18 17:59
短整型为什么最大值和最小值是那样的?
最佳答案
- 二级知识专家网友:迷人又混蛋
- 2021-10-18 18:57
短整型二进制长是16位, 最高位用作符号位,所以表示数值的只有15位。
最大值是正值,符号位是0,最大数值是2的15次方-1。
负数,符号位是1。剩下15位表示数值。
最小值,原码 是 全1。 即 1111 1111 1111 1111
负数用补码表示,补码等于(不计符号位)反码加1。
原码 1111 1111 1111 1111
反码 x 000 0000 0000 0000, 反码加1 = x 000 0000 0000 0001
补码 1000 0000 0000 0001.
这个 补码 的16进制是 0x8001
用c程序你可以输出看数值:
short x= 0x8001;
printf("%d",x); // -32767
计算机负数用补码的目的是,减法可以用加法器(硬件)来做,(减一个数,等于加一个负数),速度快。
最大值是正值,符号位是0,最大数值是2的15次方-1。
负数,符号位是1。剩下15位表示数值。
最小值,原码 是 全1。 即 1111 1111 1111 1111
负数用补码表示,补码等于(不计符号位)反码加1。
原码 1111 1111 1111 1111
反码 x 000 0000 0000 0000, 反码加1 = x 000 0000 0000 0001
补码 1000 0000 0000 0001.
这个 补码 的16进制是 0x8001
用c程序你可以输出看数值:
short x= 0x8001;
printf("%d",x); // -32767
计算机负数用补码的目的是,减法可以用加法器(硬件)来做,(减一个数,等于加一个负数),速度快。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯