1s and 2s complement of a negative number

后端 未结 1 534
半阙折子戏
半阙折子戏 2021-01-26 02:26

All answers I seem to find on how to find the 1s (flip the bits of the positive) and the 2s (flip the bits of the positive binary and add 1) complement doesn\'t seem to answer m

相关标签:
1条回答
  • 2021-01-26 03:18

    It doesn't matter if your starting number is positive or negative - in a two's complement system, -x is the same as ~x + 1. If your original number is positive, the result will be negative, and if the original number is negative, the result will be positive. 8-bit example - binary means 2's complement binary:

    x (decimal) | -x (decimal) | x (binary) | -x (binary) | ~x (binary) | ~x+1 (binary)
    ------------+--------------+------------+-------------+-------------+---------------
         5      |      -5      |  0000 0101 |  1111 1011  |  1111 1010  |  1111 1011
        -5      |       5      |  1111 1011 |  0000 0101  |  0000 0100  |  0000 0101
       110      |    -110      |  0110 1110 |  1001 0010  |  1001 0001  |  1001 0010
       -38      |      38      |  1101 1010 |  0010 0110  |  0010 0101  |  0010 0110
    

    Note the -x (binary) column and the ~x+1 (binary) column are the same.

    If you need to get the 1's complement of a number, that's just ~x.

    0 讨论(0)
提交回复
热议问题