[GESP202512 C++ 三级] 判断题第 9 题

【题目描述】
给定一个正整数 a ,当需要计算 -a 的补码时,有这样一个计算技巧:将 a 的二进制形式从右往左扫描,遇到第一个 1 之后,将找到的第一个 1 左边的所有位都取反,能得到 -a 的补码。
答:依据原码、反码、补码的定义可知,65 及 -65 的原码、反码、补码,如下表所示。

|-----|-----------|-----------|-----------|
| | 原码 | 反码 | 补码 |
| 65 | 0011 0101 | 0011 0101 | 0011 0101 |
| -65 | 1011 0101 | 1100 1010 | 1100 1011 |

据此表,进行验证题设陈述:已知 65 的二进制为 00110101,从右往左扫描,将找到的第一个 1 左边的所有位都取反,得 11001011。其恰为 -65 的补码。据此,可知题设结论是正确的。

------------------------------- 原码、反码、补码的定义 -------------------------------
正数的反码等于其原码。
正数的补码等于其原码。
负数的反码等于对负数原码符号位以外的各位取反(0变1,1变0)。
负数的补码等于负数的反码加1。

【参考文献】
https://blog.csdn.net/hnjzsyjyj/article/details/119720322
https://blog.csdn.net/hnjzsyjyj/article/details/119722653

相关推荐
汉克老师1 个月前
GESP2024年6月认证C++三级( 第二部分判断题(1-10))
c++·数组·位运算·补码·gesp三级·gesp3级
汉克老师1 个月前
GESP2024年12月认证C++三级( 第一部分选择题(9-15))
c++·字符串·位运算·进制·补码·gesp三级·gesp3级
汉克老师1 个月前
GESP2024年12月认证C++三级( 第一部分选择题(1-8))
c++·字符串·二进制·八进制·补码·gesp三级·gesp3级
汉克老师2 个月前
GESP2025年6月认证C++三级( 第一部分选择题(1-8))
c++·二进制·原码·补码·gesp三级·gesp3级·八进制、
汉克老师2 个月前
GESP2026年3月认证C++三级( 第一部分选择题(9-15))
c++·字符串·数组长度·反码·枚举算法·gesp三级·gesp3级
Nelson_hehe1 年前
考研系列-计算机组成原理第二章:数据的表示和运算
计算机组成原理·补码·ieee754·考研408·移码
Ronin-Lotus1 年前
嵌入式硬件篇---原码、补码、反码
嵌入式硬件·十六进制·八进制·计算机硬件·原码·反码·补码
EleganceJiaBao2 年前
【C语言】原码、反码、补码详解 -《码上有道 ! 》
c语言·原码·反码·补码
程序猿 M2 年前
Integer溢出问题
java·二进制·integer·原码·补码