我们用N位表示的数字范围是多少?

时间:2018-06-28 14:09:28

标签: binary twos-complement

对于无符号整数,我们可以表示

0到2 N -1

对于带二进制补码的有符号整数,范围为

-2 (N-1)到2 (N-1)-1

签名范围如何计算?

2 个答案:

答案 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位位置并通过在每个位置放置01来计算不同的配置,我们可以得到最大整数2^N - 1(即11...upto N times)和最小整数0(即00..upto N times)。而且,因此可以表示从02^N - 1的所有值。

对于有符号整数:
在这里,我们基本上使用N-1位表示整数,1位专用于确定该整数的符号。因此,我们可以表示从-2^(N-1)2^(N-1) - 1的数字。 1的最高有效位表示负整数,而0的最高有效位表示非负整数值。在这里,从-1-2^(N-1)的负值可以表示为:我们可以利用所有N位的数字作为1。基本上,编译器使用overlap tag info表示形式来表示整数。