Binary 什么';我们可以用N位表示的数字范围是多少?

Binary 什么';我们可以用N位表示的数字范围是多少?,binary,twos-complement,Binary,Twos Complement,对于无符号整数,我们可以表示从 0到2N-1 对于有符号整数,比如2的补码,范围是 -2(N-1)至2(N-1)-1 签名范围是如何计算的?这是交易。让我们对2位执行此操作,因此N=2 我们得到范围=-2到1,即它可以表示-2,-1,0,1 现在,如果N=4,我们有范围=-8到+7 我不明白您卡在哪里。对于无符号整数: 我们使用所有N位来表示从0到2^N-1的数字,这是因为如果我们使用所有N位位置并通过在每个位置放置0或1来计算不同的配置,我们可以得到最大整数2^N-1(即11…最多N次)最小整

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

0到2N-1

对于有符号整数,比如2的补码,范围是

-2(N-1)至2(N-1)-1


签名范围是如何计算的?

这是交易。让我们对2位执行此操作,因此
N=2

我们得到
范围=-2到1
,即它可以表示
-2,-1,0,1

现在,如果
N=4
,我们有
范围=-8到+7


我不明白您卡在哪里。

对于无符号整数:
我们使用所有
N
位来表示从
0到2^N-1
的数字,这是因为如果我们使用所有N位位置并通过在每个位置放置
0
1
来计算不同的配置,我们可以得到最大整数
2^N-1
(即
11…最多N次
)最小整数为
0
(即
00..N倍)。因此,可以表示从
0
2^N-1
的所有值

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