永发信息网

c++int型占4个字节,也就是32位

答案:5  悬赏:40  手机版
解决时间 2021-02-04 12:59
  • 提问者网友:龅牙恐龙妹
  • 2021-02-04 05:08
鄙人感觉int型最大值是2^32,可是答案却好像是2^31-1,请高手指教
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-02-04 05:22
32位中的最高位是符号位,表示正负,其余的31位表示绝对值,从0到第32位是1其余各位是0共有2^31次方个数字,而第32位是符号位,不参与绝对值的运算,所以最大值就是最高位是0,其余的31位都是1,也就是(2^31)-1
全部回答
  • 1楼网友:逐風
  • 2021-02-04 08:50
2^32是个数,2……32-1是值,从0开始
  • 2楼网友:逐風
  • 2021-02-04 07:38
int型变量有时候占4个字节(在win32),有时候占2个字节(在dos) 这个int类型的大小到底是跟编译器有关,还是跟cpu有关,还是跟操作系统有关? 所谓的16位32位64位系统是由cpu决定的,由机器指令的寻址、寄存器位数决定的 os受cpu的限制,但在32位的cpu下16位的os也可以跑(就向上面提到的所谓纯dos) 很多os是向前兼容的,就是使以前的程序也能运行,如果编译器本身是16位时代做的,那么os会提供一个模拟16位的子环境供这个编译器使用
  • 3楼网友:爱难随人意
  • 2021-02-04 06:51
因为还要分一半给负数 所以变成2^31了 还要分一个位置给0 就变成2^31-1
  • 4楼网友:往事隔山水
  • 2021-02-04 06:27
从-2^31~2^31-1 这是有符号的 无符号的 从0~2^32-1
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯