题库首页 › GESP等级认证(C++) › 题目 25370

补码的情况下,关于按位取反运算,用笔计算的情况下,以下说法错误的是:( )

A:~5 的结果是 -6( int 类型,32 位)
B:~0 的结果是 0( int 类型,32 位)
C:~(-3) 的结果是 2( int 类型,32 位)
D:~8 的结果是 -9( int 类型,32 位)

正确答案:B

答案解析

按位取反运算对操作数的每一位进行逻辑非操作。在补码表示下,整数的二进制形式中,正数以原码形式存储,负数以补码形式存储(即原码取反加一)。对任意整数x,其按位取反结果等价于生成一个新的二进制序列,该序列每一位与原序列相反。该新序列被解释为补码表示的有符号整数时,其值由最高位决定符号,并按补码规则转换为十进制。int类型为32位时,所有位均参与运算,包括符号位。运算过程不涉及算术加减,仅逐位翻转。结果的十进制值取决于翻转后二进制串按补码解析的数值映射关系。

试卷来源:202603 CCF-GESP编程能力等级认证C++三级真题

本卷相关题目

在线做题 同科目题库