首页 文章

符号幅度,一个's complement, Two' s补充

提问于
浏览
0

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

Using 4 bit numbers, for example (5)10 = ( 0101)2 Write all positive numbers and all negative numbers that can be represented with four bits in sign-magnitude, one’s complement, and two’s complement.

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

  • 表示符号幅度,第一位表示数字的符号 . 所以在提供的例子中,负五是-5 =(1101),那些补数=(0101)二进制补码(1010)

  • 符号幅度仅允许三位显示数字,一位用于符号(从右到左的前导位 . )这意味着我们只有8种组合 . 这是0-7和-0-(-6)之间的数字我们有16个?所以0-15和-0 - ( - 15)

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

1 回答

  • 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为1 . 使用二进制数,并且还使用特定的位大小 . (例如8,16,32等位) .

    • 如果数字是正数

    • 将数字转换为二进制

    • 将数字设置为特定位大小

    • 如果数字为负数

    • 将数字转换为二进制

    • 将数字设置为特定位大小

    • 获取该值的补码

    例如再次采用前面的例子

    • (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)

相关问题