2025-11-20 06:31:22
二进制转换就是把数字转成二进制数比如2的二进制是10对吧?那2的2次方是4所以二进制是100。负数的话比如-2得用补码算先看正数二进制再取反加1。比如8位的话2是00000010取反是11111101加1变成11111110这就是-2的补码。注意位数越多补码越精确。
为什么-2的补码是11111110呢?首先二进制转换要确定位数假设用8位表示正数2是00000010。取反操作就是每个0变1每个1变0变成11111101。加1的时候从一位开始进位一位变成0前面全1就变成11111110。根据补码公式-2=2^8-2=254所以二进制254正好是11111110。这样算的话8位刚好能表示-128到127的数。要是用4位的话-2的补码就是1110对吧?因为2是0010取反1101加1变成1110。但实际计算时要看具体用几位。比如16位的话-2就是11110。这就是补码的原理对吧?
本题链接: