早教吧作业答案频道 -->数学-->
为什么32位机int取值范围是-2^31~2^31-1?为什么不是-2^31-1~2^31-1?假设是3位机.最大值为011(+3)最小值为111(-3).正数和负数取值范围一样啊.怎么上面不一样?
题目详情
为什么32位机int取值范围是-2^31~2^31-1?为什么不是-2^31-1~2^31-1?假设是3位机.最大值为011(+3)最小
值为111(-3).正数和负数取值范围一样啊.怎么上面不一样?
值为111(-3).正数和负数取值范围一样啊.怎么上面不一样?
▼优质解答
答案和解析
刚才已经给你回答了这个问题,但是貌似你没明白.
3位机的话总长度是2^3,对有符号数来说各占一半,也就是2^2=4,也就是三位机的int范围为(-4~+4),但是0被划到了正数的范畴,所以三位机中int的范围应该是(-4~+3),对于你说的011是表示+3没问题,但是计算机中负数是用补码表示的,并不是像你说的111的最高位是1表示负号,然后后面的11表示3结果就是-3.那这样的话32位机上的int范围也不对了.
计算补码应该遵循这样的原则,正数的原码,反码和补码都一样,
负数的补码计算方式为:先对原码-4取绝对值,也就是4即二进制形式的100,再对这个绝对值取反(即每一位由1变0,由0变1)因此上面的100就变成了011,然后对反码进行加1操作,就得到了补码100,也就是-4的补码是11100,也就是说100表示的是-4,而不是-3
3位机的话总长度是2^3,对有符号数来说各占一半,也就是2^2=4,也就是三位机的int范围为(-4~+4),但是0被划到了正数的范畴,所以三位机中int的范围应该是(-4~+3),对于你说的011是表示+3没问题,但是计算机中负数是用补码表示的,并不是像你说的111的最高位是1表示负号,然后后面的11表示3结果就是-3.那这样的话32位机上的int范围也不对了.
计算补码应该遵循这样的原则,正数的原码,反码和补码都一样,
负数的补码计算方式为:先对原码-4取绝对值,也就是4即二进制形式的100,再对这个绝对值取反(即每一位由1变0,由0变1)因此上面的100就变成了011,然后对反码进行加1操作,就得到了补码100,也就是-4的补码是11100,也就是说100表示的是-4,而不是-3
看了 为什么32位机int取值范围...的网友还看了以下:
(1)宝剑锋从磨励出,梅花香自苦寒来.(2)不经一番寒彻骨,怎得梅花扑鼻香.请你再写两句类似的名句. 2020-03-31 …
直线x=2不是一次函数的图像,为何啊, 2020-04-08 …
最简二次根式2分之一倍的2x-y倍的根号xy与2分之一倍的y+6倍的根号3x+y+2能否是被开方数 2020-05-14 …
1.“要留清白在人间”是谁写的?题目是什么?2.“不拘一格降人才”是谁写的?题目是什么?3.“1. 2020-05-17 …
二次一项式不等式的理解比如x^2>4这个例题最后是x2为什么不是x>-2且x<2要是是x^2<4最 2020-05-17 …
我会画y=3cos2x的图像,但是y=3cosπ/2乘以x的图像我就蒙了.图像变化我都会,但是π/ 2020-05-17 …
0÷2=0那么0就是2的倍数,那为什么2的最小倍数不是2而是0呢.倍数的定义是:如果有一个自然数a 2020-05-22 …
一种股票第一天的最高价比开盘价高0.3元,最低价比开盘价低0.2元;第二天的最高价比开盘价高0.2 2020-06-14 …
切饼和切西瓜的问题1)线分割平面:一块薄饼,1刀最多切2块,2刀最多切4块,3刀最多切7块(拜托不 2020-06-15 …
谁知道几个成语的意思:————1钩玄提要2不屑一顾3迷途知返4青年朋友们,让你的一生在追求中()过 2020-06-30 …