2025-11-20 06:28:17
-4的二进制是1100对吧?首先得知道正数转二进制很简单,比如4就是100。但负数要加个前缀,用补码算的话,先算4的二进制100,然后取反变成011,再加1变成100,前面加个符号位就成1100了。
为啥是这个答案呢?先看4的二进制确实是100,这是8位的话前面补0成00000100。负数补码算法是先算正数,再取反加一。取反的话00000100变成11111011,加1后变成11111100。这时候符号位是1代表负数,数值部分就是11111100,也就是-4的补码。比如用8位存储的话,-4的补码就是11111100,转换回十进制就是-4。这个算法在计算机里很常用,比如CPU处理负数运算都用补码,避免出现正负数冲突。数据来源是《计算机组成与设计》第5版,里面详细讲了补码转换过程。
本题链接: