符号量,一个补码,两个补码

Jes*_*rle 0 binary numbers

因此,我的教授有一个问题要列出所有正数和负数,这些数字可以用一个,二个补码和符号量表示:

使用4位数,例如(5)10 =(0101)2写出所有正数和所有负数,可以用符号幅度,1的补码和2的补码表示4位.

现在,我不是在寻找澄清的答案.

  • 对于符号幅度,第一位表示数字的符号.所以在提供的例子中,负五是-5 =(1101),那些补数=(0101)二进制补码(1010)
  • 符号幅度仅允许三位显示数字,一位用于符号(从右到左的前导位.)这意味着我们只有8种组合.这是0-7和-0-(-6)之间的数字我们有16个?所以0-15和-0 - ( - 15)

谁能更好地解释这个问题?

Cur*_*ity 5

以下是您提到的所有三种表示技术的简要说明.

标志和幅度表示

在这种表示中,我们可以用任意数量的位表示数字(2的幂).表示中有两部分.标志和大小,顾名思义.

如果我们想用n个位表示一个数字,

  • 第一位总是代表数字的符号.即0表示正数,1表示负数.
  • 其余位(n-1)表示二进制数的大小.

例如,如果要使用8位表示+25和-25:(+ 25)10 = 0011001和(-25)10 = 10011001

补充

由于二进制数系统只有2位数(0和1),因此一位数的补码是另一位数.即0的补码是1,反之亦然.

一个人的补充

在该表示中,没有特定位来表示符号,但MSB(最高有效位)可用于确定数字的符号.即,如果数字为正,则MSB为0;如果数字为负,则MS为0.使用二进制数,并且还使用特定的位大小.(例如8,16,32等位).

  1. 如果数字是正数

    • 将数字转换为二进制
    • 将数字设置为特定位大小
  2. 如果数字是负数

    • 将数字转换为二进制
    • 将数字设置为特定位大小
    • 获得该值的补充

例如,再次采用前面的例子

  • (25)10
    • 将数字转换为二进制 - >(11001)2
    • 将数字设置为特定位大小 - >(0001 1001)
  • (-25)10
    • 将数字转换为二进制 - >(11001)2
    • 将数字设置为特定位大小 - >(0001 1001)
    • 获得该值的补充 - >(1110 0110)

两个人的补充

这种表示技术与One的补语表示非常相似.主要区别在于当数字为负时,在获得补码后将1加到LSB(最低有效位).

我们举个例子

  • (25)10
    • 将数字转换为二进制 - >(11001)2
    • 将数字设置为特定位大小 - >(0001 1001)
  • (-25)10
    • 将数字转换为二进制 - >(11001)2
    • 将数字设置为特定位大小 - >(0001 1001)
    • 获得该值的补充 - >(1110 0110)
    • 将1添加到LSB - >(1110 0110)+ 1 =(1110 0111)

  • 小更正:不是“一个的补码”,而是“一个的补码”。 (2认同)