)
【中级软件设计师】原码、反码、补码、移码 (附软考真题)目录【中级软件设计师】原码、反码、补码、移码 (附软考真题)一、历年真题二、考点原码、反码、补码、移码1、原码、反码、补码、移码2、数值范围三、真题的答案与解析答案解析复习技巧若已掌握【原码、反码、补码、移码】相关知识可直接刷以下真题若对知识一知半解建议略读题目掌握真题以下知识点再返回刷题。仅个人建议哦真题的答案及解析在文末❥(^_-)一、历年真题1、计算机中常采用原码、反码、补码和移码表示数据其中±0编码相同的是。2009年上半年A. 原码和补码B. 反码和补码C. 补码和移码D. 原码和移码2、若某整数的16位补码为FFFFh (H表示十六进制则该数的十进制值为。2010年上半年A. 0B. -1C. 216- 1D. -216 13、若某计算机采用8位整数补码表示数据则运算将产生溢出。2010年下半年A. -1271B. -127-1C. 1271D. 127-14、原码表示法和补码表示法是计算机中用于表示数据的两种编码方法在计算机系统中常采用补码来表示和运算数据原因是采用补码可以。2011年上半年A. 保证运算过程与手工运算方法保持一致B. 简化计算机运算部件的设计C. 提高数据的运算速度D. 提高数据的运算精度5、某机器字长为n最高位是符号位其定点整数的最大值为。2014年上半年A. 2n-1B. 2n-1- 1C. 2nD. 2n-16、如果“2X”的补码是“90H”那么X的真值是。2016年上半年A. 72B. -56C. 56D. 1117、采用n位补码包含一个符号位表示数据可以直接表示数值。2018年下半年A. 2nB. -2nC. 2n-1D. -2n-18、计算机系统中定点数常采用补码表示以下关于补码表示的叙述中错误的是。2023年上半年A. 补码零的表示是唯一的B. 可以将减法运算转化为加法运算C. 符号位可以与数值位一起参加运算D. 与真值的对应关系简单且直观9、机器字长为n位的二进制数可以用补码来表示个不同的有符号定点小数。2015年上半年A. 2nB. 2n-1C. 2n- 1D. 2n-1 110、对于定点纯小数的数据编码下述说法正确的是。2024年上半年A. 仅原码能表示-1B. 仅反码能表示-1C. 原码和反码均能表示-1D. 仅补码能表示-111、设码长为8已知X是整数且[X]补11111111则x的真值为。2024年下半年A. 1B. -1C. 127D. 255二、考点原码、反码、补码、移码1、原码、反码、补码、移码在原码表示法中最高位是符号位0表示正数1表示负号其余的 n - 1 位表示数值的绝对值。在反码表示法中最高位是符号位0表示正数1表示负号正数的反码与原码相同负数的反码则是其绝对值按位取反。在补码表示法中最高位是符号位0表示正数1表示负号正数的补码与其原码和反码相同负数的补码则等于其反码的末位加1。编码0-0规则原码0000 00001000 0000反码0000 00001111 1111负数的反码是在其原码基础上符号位不变其余各位取反。补码0000 00000000 0000负数的补码是在其原码基础上符号位不变其余各位取反最后1。(即在反码的基础上1)。移码1000 00001000 0000补码的基础上将符号位取反编码1-1规则原码0000 00011000 0001反码0000 00011111 1110负数的反码是在其原码基础上符号位不变其余各个位取反。补码0000 00011111 1111负数的补码是在其原码基础上符号位不变其余各位取反最后1。(即在反码的基础上1)。移码1000 00010111 1111补码的基础上将符号位取反注意①±0编码相同唯一的是补码和移码。补码没有±0之分。②[[X]补]补 [X]原(常用于题目计算)③ 补码的特点a. 零的表示是唯一的b. 可将减法运算转化为加法运算c. 符号位可与数值位一起参加运算2、数值范围编码定点整数定点小数原码- (2n-1- 1) ~ (2n-1-1)-127 ~ 127- (1 - 2(n-1)) ~ (1 - 2(n-1))反码- (2n-1- 1) ~ (2n-1-1)-127 ~ 127- (1 - 2(n-1)) ~ (1 - 2(n-1))补码- 2n-1~ (2n-1-1)-128 ~ 127-1 ~ (1 - 2(n-1))常用于加减运算补码可以简化计算机部件的设计移码- 2n-1~ (2n-1-1)-128 ~ 127-1 ~ (1 - 2(n-1))常用于浮点数的阶码注意①定点整数的最大值为 2n-1-1。三、真题的答案与解析答案1、C2、B3、C4、B5、B6、B7、D8、D9、A10、D11、B解析第1题在补码中0具有唯一编码。将补码符号位取反可以得到移码因此对于0来说移码和补码是唯一的±0编码相同。假设字长为8位0-0原码0000 00001000 000反码0000 00001111 1111补码0000 00000000 000移码1000 00001000 000第3题考查【补码的数据范围】釆用8位补码表示整型数据时可表示的数据范围为-2n-1~ (2n-1-1)即**-128 ~ 127**那么运算1271128将产生溢出答案选C。第2、6、10题均考查 [[X]补]补 [X]原第2题① 先将十六进制FFFFh转化成二进制1111 1111 1111 1111根据最高位是符号位1表示负数0表示正数即该数为负数② 根据[[X]补]补 [X]原即补码1111 1111 1111 1111先转化为反码1000 0000 0000 0000再转化为补码1000 0000 0000 0001即整数的16位补码为FFFFh的二进制原码表示为1000 0000 0000 0001最高位为符号位1表示负数结果为-1答案选B。第6题① 先将十六进制90H转化成二进制1001 0000根据最高位是符号位1表示负数0表示正数即该数为负数② 根据[[X]补]补 [X]原即补码1001 0000先转化为反码1110 1111再转化为补码1111 0000即2X的二进制原码表示为1111 0000最高位为符号位1表示负数转化为十进制为-112即2X -112X -56答案选B。第8题[0]补 [-0]补 0000 0000即补码零的表示是唯一的。2 - 3 2 (-3) 0000 0010 1111 1101 1111 1111根据 [[X]补]补 [X]原可得[1111 1111]补 1000 0001 -1故补码表示可以将减法运算转化为加法运算。第10题根据[[X]补]补 [X]原即补码1111 1111先转化为反码1000 0000再转化为补码1000 0001即 x 1000 0001最高位为符号位1表示负数结果为-1答案选B。