首页 文章

两个补充表格所需的最小比特数

提问于
浏览
3

在我的中期,有一个问题说:

给定十进制值,在Two的补语表单中表示每个数字所需的最小位数是多少?

值为:-26,-1,10,-15,-4 .

我没有得到任何正确的问题,解决方案令人困惑 .

我真正理解的唯一部分是找到值所在的范围 . 例如,-15将在[-2 ^ 5,2 ^ 5]的范围内,并且-4将在[-2 ^ 2,2 ^ 2]的范围内 . 从这里需要哪些步骤才能找到需要多少位?

我试图找到一些模式来解决它,但它只适用于前两种情况 . 这是我的尝试:

  • 首先,我找到了范围 . -2 ^ 6 <-26 <2 ^ 6

  • 然后我发现2 ^ 6 = 32的值 .

  • 然后我找到了“最近”界限与值之间的差异 .

-26 - (-32)= 6

同样,这偶然适用于前两个值,现在我难以找到以二进制补码形式表示的整数所需的位数与实际整数之间的实际关系 .

提前致谢!

1 回答

  • 6

    首先,你的权力是2. 32 = 25 .

    无论如何,我跟着你完成了前两步 . 你的最后一步没有意义 .

    • 找到括号的二次幂范围 . 你想要一个2的幂范围[-2N,2N - 1] . 因此,对于-26,这将是-25≤-26≤25 - 1.这相当于-32≤-26≤31 .

    • 2s补码表示的位数将简单地为N加1. "plus 1"表示符号位 . 对于-26,那是5 1 = 6 .

    因此,对于您给出的每个数字:-26,-1,10,-15,-4 .

    • -25≤-26≤25-1变为-32≤-26≤31,得到5 1 = 6 .

    • -20≤-1≤20 - 1变为-1≤-1≤0,得到0 1 = 1 .

    • -24≤10≤24 - 1变为-16≤10≤15,得到4 1 = 5 .

    • -24≤-15≤24 - 1变为-16≤-15≤15,得到4 1 = 5 .

    • -22≤-4≤22-1变为-4≤-4≤3,得到2 1 = 3 .

    得到它了?

    -1 一个很棘手......

相关问题