N位整数的最大值和最小值

原码 反码 补码

以3位整数举例, 如果是无符号整数, 可以表示0到7共23=8个数字;
在这里插入图片描述
如果要表示有符号数,对负数采用同余的做法,用图1的4表示图2的-4, 用图1的5表示图2的-3等等,最终的范围:正数0到3, 负数从-4到-1
在这里插入图片描述
如果取第1位表示符号位,则可以表示
[ − 3 , − 0 ] ∪ [ 0 , 3 ] [-3,-0] \cup[0,3] [3,0][0,3]
此时在计算机内部计算1+(-1)时:
( 001 ) 2 + ( 101 ) 2 = ( 110 ) 2 = − 2 (001)_2 +(101)_2=(110)_2=-2 (001)2+(101)2=(110)2=2
这显然不对了, 所以原码的表示方式对计算机不友好

为了对计算机友好, 人们发明了反码的表示方法,可以实现 ( − 1 ) + ( + 1 ) = 0 (-1)+(+1)=0 (1)+(+1)=0
又为了在+0和-0的表示方法中只留下+0, 又发明了补码的表示方法. 这部分内容可以看原码、反码、补码的产生、应用以及优缺点有哪些, 作者写得很通俗易懂。

最 大 的 正 整 数 = 2 n − 1 − 1 最大的正整数=2^{n-1} -1 =2n11
最 小 的 负 整 数 = − 2 n − 1 最小的负整数=-2^{n-1} =2n1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值