[GESP202512 C++ 三级] 判断题第 9 题
【题目描述】给定一个正整数 a 当需要计算 -a 的补码时有这样一个计算技巧将 a 的二进制形式从右往左扫描遇到第一个 1 之后将找到的第一个 1 左边的所有位都取反能得到 -a 的补码。答依据原码、反码、补码的定义可知65 及 -65 的原码、反码、补码如下表所示。原码反码补码650011 01010011 01010011 0101-651011 01011100 10101100 1011据此表进行验证题设陈述已知 65 的二进制为 00110101从右往左扫描将找到的第一个 1 左边的所有位都取反得 11001011。其恰为 -65 的补码。据此可知题设结论是正确的。------------------------------- 原码、反码、补码的定义 -------------------------------正数的反码等于其原码。正数的补码等于其原码。负数的反码等于对负数原码符号位以外的各位取反0变11变0。负数的补码等于负数的反码加1。【参考文献】https://blog.csdn.net/hnjzsyjyj/article/details/119720322https://blog.csdn.net/hnjzsyjyj/article/details/119722653

相关新闻

最新新闻

日新闻

周新闻

月新闻