“原码、反码、补码、移码 考点”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
→‎题3
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
 +
== 题1 ==
 
设机器字长为8,对于二进制编码1010 1100,如果它是某整数x的补码表示,则x的真值为(),
 
设机器字长为8,对于二进制编码1010 1100,如果它是某整数x的补码表示,则x的真值为(),
  
第6行: 第7行:
  
 
A、52              B、84                  C、172  √                D、204
 
A、52              B、84                  C、172  √                D、204
 +
  
  
第19行: 第21行:
  
 
然后反码转原码:“符号位不变,其余位按位取反”就是 1101 0100,真值就是 -(2<sup>6</sup> + 2<sup>4</sup>+2<sup>2</sup>)=-(64+16+4)=-84
 
然后反码转原码:“符号位不变,其余位按位取反”就是 1101 0100,真值就是 -(2<sup>6</sup> + 2<sup>4</sup>+2<sup>2</sup>)=-(64+16+4)=-84
 
  
 
无符号整数y的话,全部是整数就是
 
无符号整数y的话,全部是整数就是
第57行: 第58行:
  
  
 
+
== 题2 ==
 
计算机中常用原码、反码、补码和移码表示数据,其中表示0时仅用一个编码的是()。
 
计算机中常用原码、反码、补码和移码表示数据,其中表示0时仅用一个编码的是()。
  
第69行: 第70行:
  
 
解:参见 [[±0的表示]]
 
解:参见 [[±0的表示]]
 +
 +
 +
 +
== 题3 ==
 +
在定点二进制运算中,减法运算一般通过()来实现。
 +
 +
A、补码运算的二进制减法器
 +
 +
B、原码运算的二进制减法器
 +
 +
C、原码运算的二进制加法器
 +
 +
D、补码运算的二进制加法器  √
 +
 +
 +
== 题4 ==
 +
设机器字长为8个二进制位,对于十进制数-128,其补码表示为()。
 +
 +
A、1111 1111
 +
 +
B、1111 0000
 +
 +
C、1000 0000  √
 +
 +
D、1000 1000
 +
 +
解:人为规定,记住

2022年9月2日 (五) 06:23的最新版本

题1

设机器字长为8,对于二进制编码1010 1100,如果它是某整数x的补码表示,则x的真值为(),

若它是某无符号整数y的机器码,则y的真值为()。

A、84 B、-84 √ C、172 D、-172

A、52 B、84 C、172 √ D、204


解:

1010 1100是补码的话,计算它的真值的话,就要先知道它的原码的值,知道原码的值就要知道反码的值,

反码到原码是“正数保持不变、负数加1”,所以转回反码要么保持不变,要么减1,是保持不变还是减1取决于它的真值是个正数还是负数;

又知道原码到反码是“原码基础上,正数保持不变,负数符号位不变,其余位按位取反”,也就是说 原码到反码的过程中符号位是不变的,

那么根据“最高位为符号位,为0表示正数,为1表示负数”,补码 1010 1100 的真值是个 负数,因为是负数,所以转回反码要减1,就是后7位 010 1100 - 1 = 010 1011;

然后反码转原码:“符号位不变,其余位按位取反”就是 1101 0100,真值就是 -(26 + 24+22)=-(64+16+4)=-84

无符号整数y的话,全部是整数就是

1 0 1 0 1 1 0 0
27 26 25 24 23 22 21 20
128 32 8 4

128+32+8+4=160+12=172


题2

计算机中常用原码、反码、补码和移码表示数据,其中表示0时仅用一个编码的是()。

A、原码和反码

B、原码和补码

C、反码和移码

D、补码和移码 √

解:参见 ±0的表示


题3

在定点二进制运算中,减法运算一般通过()来实现。

A、补码运算的二进制减法器

B、原码运算的二进制减法器

C、原码运算的二进制加法器

D、补码运算的二进制加法器 √


题4

设机器字长为8个二进制位,对于十进制数-128,其补码表示为()。

A、1111 1111

B、1111 0000

C、1000 0000 √

D、1000 1000

解:人为规定,记住