解析 最大正数是0.(后面31个1),算下来就是2^31-1 结果一 题目 int类型的范围是32位的,它的最大值是2的31次方减1,为什么要减1呢?我知道有一个符号位,所以才是2^31 - 1,不然就是2^32 - 1了.我想知道的是,为什么最大值不是2^31 ,而要减1呢? 答案 最大正数是0.(后面31个1),算下来就是2^...
3位机的话总长度是2^3,对有符号数来说各占一半,也就是2^2=4,也就是三位机的int范围为(-4~+4),但是0被划到了正数的范畴,所以三位机中int的范围应该是(-4~+3),对于你说的011是表示+3没问题,但是计算机中负数是用补码表示的,并不是像你说的111的最高位是1表示负号,然后后面的11表示3结果就是-...
你这个逻辑就是错误的,我来解释给你听为什么要减1,32位去掉一个符号位最大是31位1,也就是要把这31位1表示为10进制相加.你要知道第一位1的十进制值是1乘以2的0次方...,以此类推,第31位只是1乘以2的30次方...,看到没有,我们假设这个相加后的值为A?假如这个31位二进制再加1的话,就是第32...
int型数据的最大值就是1111……1111,一共32个1,应该是2^32 -1。你是这么想的吗?int型是有符号...
数据在计算机里面以2进制存储。正整数就是以二进制存储。负整数以补码存储。一个Int类型数据占据空间4字节。每个字节8位,共32位。因为1位可以用0和1共2个数表示,32位就有2的32次方个表示方式,但最小数是32位每一位都是0,即总和为0,不是1,所以int类型最大值是2的32次方减1。
然后后面的11表示3结果就是-3.那这样的话32位机上的int范围也不对了。计算补码应该遵循这样的原则,正数的原码,反码和补码都一样,负数的补码计算方式为:先对原码-4取绝对值,也就是4即二进制形式的100,再对这个绝对值取反(即每一位由1变0,由0变1)因此上面的100就变成了011,然后对反码...
这个最高有效位用于编码符号(1表示负数),因此实际值只有31位可用。Int32.MaxValue = 2^31 - 1 ...
我知道有一个符号位,所以才是2^31 - 1,不然就是2^32 - 1了.我想知道的是,为什么最大值不是2^31 ,而要减1呢? 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 解答一 举报 最大正数是0.(后面31个1),算下来就是2^31-1 解析看不懂?免费查看同类题视频解析查看解答...
为什么不是-2^31-1~2^31-1?假设是3位机.最大值为011(+3)最小值为111(-3).正数和负数取值范围一样啊.怎么上面不一样? 扫码下载作业帮搜索答疑一搜即得 答案解析 查看更多优质解析 解答一 举报 刚才已经给你回答了这个问题,但是貌似你没明白.3位机的话总长度是2^3,对有符号数来说各占一半,也就是2^...