首页 文章

将十六进制转换为二进制,将一位和二位的补码转换为16位

提问于
浏览
0

我试图将FFAD(十六进制)转换为十进制值,然后对其执行一个和两个补码 . FFAD表示为16位整数 . 当我将FFAD转换为基数2时,我得到1111111110101101 .

我的问题是我怎么知道它是否是负数?

我有二进制,现在做一些补码正常我会将最后一位从0更改为1然后翻转所有位,但作为一个16位整数我没有任何更多的可用位 . 由于第16位是1,这是否意味着它是负数?我该怎么做呢?我只是对这个问题感到困惑,任何指针都会非常感激 .

1 回答

  • 3

    它是负面的,因为它被填充了一些 . 左边填充零,表示正数 . 例如,以下是三位数的十进制值:

    • 011 = 3

    • 010 = 2

    • 001 = 1

    • 000 = 0

    • 111 = -1

    • 110 = -2

    • 101 = -3

    • 100 = -4

    注意,用1填充的数字是负数,用零填充的数字是正数 .

    2的称赞的标准程序是否定你的位,然后加1 .

    1111111110101101变为0000000001010010 . 然后添加1以获取0000000001010011 .

相关问题