宁波网站建设 网络服务网站建设往年的高考题
2026/4/7 4:33:13 网站建设 项目流程
宁波网站建设 网络服务,网站建设往年的高考题,开发板种类,wordpress的用法四种有符号数编码方式 1. 原码 (Sign-Magnitude) 核心思想#xff1a;最高位表示符号#xff08;0正1负#xff09;#xff0c;其余位表示绝对值。 正数#xff1a;符号位0#xff0c;数值位为真值的二进制绝对值负数#xff1a;符号位1#xff0c;数值位为真值的二进制…四种有符号数编码方式1. 原码 (Sign-Magnitude)核心思想最高位表示符号0正1负其余位表示绝对值。正数符号位0数值位为真值的二进制绝对值负数符号位1数值位为真值的二进制绝对值例子8位表示18→ 原码0001 0010-18→ 原码1001 0010特点直观易懂符合人类习惯存在0和-00000 0000和1000 0000都表示0加减运算复杂需要判断符号位硬件实现麻烦2. 反码 (Ones’ Complement)核心思想正数的反码等于原码负数的反码是原码的符号位不变其余位按位取反。正数与原码相同负数符号位保持1数值位全部取反例子8位表示18→ 原码0001 0010→ 反码0001 0010-18→ 原码1001 0010→ 反码1110 1101特点存在0和-00000 0000和1111 1111都表示0加减法稍微简化但仍有循环进位问题补码出现前的过渡方案现已基本不用3. 补码 (Two’s Complement) ✅最重要现代计算机标准核心思想正数的补码等于原码负数的补码等于反码加1。正数与原码相同负数符号位保持1数值位取反后加1例子8位表示18→ 原码0001 0010→ 补码0001 0010-18原码1001 0010 取反1110 1101 (反码) 加11110 1110 (补码)特点只有一个00000 0000范围不对称n位补码范围是-2ⁿ⁻¹到(2ⁿ⁻¹ - 1)8位-128 到 127加减运算统一减法可转换为加法硬件实现简单现代计算机几乎全部使用补码快速求负法从右向左找到第一个1这个1及其右边的位保持不变左边的位全部取反。-18的补码1110 1110→ 从右第一个1在倒数第二位保留10左边取反得1110 11即1110 11104. 移码 (Biased Representation / Excess-K)核心思想真值加上一个固定偏移量K通常K2ⁿ⁻¹使其全部变为非负数。公式移码 真值 2ⁿ⁻¹等价关系移码 补码的符号位取反例子8位偏移量K12818→ 补码0001 0010→ 移码1001 0010(符号位取反)-18→ 补码1110 1110→ 移码0110 1110(符号位取反)0→ 补码0000 0000→ 移码1000 0000(128)特点所有值都是非负的便于比较大小主要用于浮点数的阶码指数部分比较两个移码数的大小就是比较它们对应的真值的大小综合对比以4位二进制为例真值原码反码补码移码(K8)7011101110111111160110011001101110501010101010111014010001000100110030011001100111011200100010001010101000100010001100100000000000001000-010001111---11001111011110111-21010110111100110-31011110011010101-41100101111000100-51101101010110011-61110100110100010-71111100010010001-8--10000000关键区别总结特性原码反码补码移码0的表示两种(0/-0)两种(0/-0)一种一种非零值表示范围(4位)-7 ~ 7-7 ~ 7-8 ~ 7-8 ~ 7但编码全是正数加减运算复杂需判断符号较简单但有循环进位最简单统一为加法用于比较不做加减硬件实现复杂较简单最简单简单主要用途早期计算机/浮点数尾数历史过渡现代整数运算标准浮点数阶码符号处理最高位符号最高位符号最高位符号无符号全是正数编码数值连续性不连续有±0不连续有±0连续连续为什么补码成为标准运算统一性A - B A (-B)减法器不需要了硬件简化只需要加法器和补码转换电路唯一零表示避免歧义和硬件复杂度表示范围更合理比原码/反码多表示一个数-2ⁿ⁻¹实际应用场景CPU中的整数全部使用补码表示和运算浮点数IEEE 754尾数部分用原码表示有符号绝对值阶码部分用移码表示便于比较指数大小快速记忆技巧原码最直观看符号位就知道正负反码反着来负数就是取反补码负数反码1现代计算机的王者移码给真值加个偏移量全变正数浮点数用它这四种编码方式共同构成了计算机处理有符号数的理论基础其中补码无疑是最重要、最核心的概念。5.原码和以及反码补码移码能表示的整数数和小数范围编码方式整数范围小数范围定点零的表示原码-(2ⁿ⁻¹ - 1) ~ (2ⁿ⁻¹ - 1)例(8位): -127 ~ 127-(1-2⁻⁽ⁿ⁻¹⁾) ~ (1-2⁻⁽ⁿ⁻¹⁾)例(8位): -0.992 ~ 0.9920 和 -0两个零反码-(2ⁿ⁻¹ - 1) ~ (2ⁿ⁻¹ - 1)例(8位): -127 ~ 127-(1-2⁻⁽ⁿ⁻¹⁾) ~ (1-2⁻⁽ⁿ⁻¹⁾)例(8位): -0.992 ~ 0.9920 和 -0两个零补码-2ⁿ⁻¹ ~ (2ⁿ⁻¹ - 1)例(8位):-128~ 127-1.0 ~ (1-2⁻⁽ⁿ⁻¹⁾)例(8位):-1.0~ 0.992唯一零移码真值: -2ⁿ⁻¹ ~ (2ⁿ⁻¹ - 1)编码: 0 ~ (2ⁿ - 1)例(8位): 真值-128127br编码0255不用于小数表示主要用于浮点数阶码唯一零编码为2ⁿ⁻¹5.1为什么原码和反码范围相同5.1.1. 原码定义原码 符号位 绝对值的二进制符号位0正1负数值位n-1位表示绝对值最大正数0 111...111 (2^{n-1}-1)最大负数1 111...111 -(2^{n-1}-1)5.2. 反码定义反码 符号位 绝对值的按位取反负数时正数与原码相同负数绝对值按位取反以4位为例十进制 原码 反码 3 0011 0011 ← 正数相同 -3 1011 1100 ← 负数取反关键反码的负数表示范围与原码完全一致最小的负数模式1 000...000在原码中是 -0在反码中也是 -0最大的负数模式1 111...111在原码中是 -(2^{n-1}-1)在反码中也是 -(2^{n-1}-1)因为原码和反码都是1位符号号其它数值位5.2为什么补码比原码/反码多一个负数根本原因补码重新定义了100...000的含义二进制模式原码含义反码含义补码含义100…000-0无效/视为0-0无效/视为0-2^{n-1}有效负数补码的巧妙设计补码中-0的编码被重新利用来表示多一个负数4位时的对比十进制原码反码补码-8无法表示无法表示1000-7111110001001-6111010011010-5110110101011-4110010111100-3101111001101-2101011011110-1100111101111-010001111无0000000000000补码偷了-0的编码1000来表示-8所以负数范围多一个。5.3 移码范围5.3.1 补码 vs 移码以4位为例二进制编码补码真值移码真值移码编码值00000-8000011-7100102-6200113-5301004-4401015-3501106-2601117-171000-8081001-7191010-62101011-53111100-44121101-35131110-26141111-17155.3.2 关键区别解析1.编码范围不同补码编码1000(-8) 0111(7)从-8到7共16个数移码编码0000(0) 1111(15)从0到15共16个数2.真值范围相同两种编码都表示-8到7这16个整数只是同一个真值的编码不同5.3.3 移码的定义与计算1.移码公式对于n位二进制[\text{移码} \text{真值} 2^{n-1}]或[\text{移码} \text{补码} \oplus 100…0 \ (\text{符号位取反})]2.举例计算真值 -5 n4偏移量 2³ 8 移码 -5 8 3 0011 验证 -5的补码 1011 符号位取反1011 → 0011 ✓5.3.3 为什么要有移码移码的主要优点简化比较运算移码的真值越大编码值也越大可以直接用无符号比较器比较有符号数浮点数阶码使用IEEE 754标准中阶码用移码表示便于处理正负指数直观性全0编码表示最小真值-8全1编码表示最大真值7对比示例比较两个数的大小补码比较-5(1011) vs 3(0011)1011 0011无符号但-5 3实际移码比较-5(0011) vs 3(1011)0011 1011无符号且-5 3实际一致

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询