对于无符号整数,我们可以表示
0到2 N -1
对于带二进制补码的有符号整数,范围为
-2 (N-1)到2 (N-1)-1
签名范围如何计算?
答案 0 :(得分:0)
这是交易。让我们做2位,所以N=2
。
我们得到Range=-2 to 1
,即它可以代表-2,-1,0,1
。
现在如果有N=4
,我们有Range=-8 to +7
。
我不明白你在哪里。
答案 1 :(得分:0)
对于无符号整数:
我们使用所有N
位来表示0 to 2^N - 1
之间的数字,这是因为如果我们使用所有N位位置并通过在每个位置放置0
或1
来计算不同的配置,我们可以得到最大整数2^N - 1
(即11...upto N times
)和最小整数0
(即00..upto N times
)。而且,因此可以表示从0
到2^N - 1
的所有值。
对于有符号整数:
在这里,我们基本上使用N-1
位表示整数,1
位专用于确定该整数的符号。因此,我们可以表示从-2^(N-1)
到2^(N-1) - 1
的数字。 1
的最高有效位表示负整数,而0
的最高有效位表示非负整数值。在这里,从-1
到-2^(N-1)
的负值可以表示为:我们可以利用所有N
位的数字作为1
。基本上,编译器使用overlap tag info表示形式来表示整数。