查看“︁移码”︁的源代码
←
移码
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{Primarysources|time=2012-09-21T06:25:35+00:00}} {{Expand English|Offset binary}} {{NoteTA |G1 = IT }} 在[[计算机科学]]中,'''移码'''({{lang-en|'''Offset binary'''}})是一种将全0码映射为最小负值、全1码映射为最大正值的编码方案。移码没有标准,但通常对于n位二进制数,偏移量''K'' = 2<sup>''n''−1</sup>——这使得真值0的编码的最高位为1、其余位均为0,相当于[[补码]]表示的最高位([[符号位]])取反;另外,移码在逻辑比较操作中可以得到和真值比较相同的结果,补码则当且仅当符号相同时逻辑比较操作的结果和真值比较相同,否则比较结果将颠倒(负值比正值大)。 == 示例 == -120D = -01111000B(真值) [[原码]]:11111000 [[反码]]:10000111 补码:10001000 '''移码''':00001000 这样的移码也可以叫做偏移值为128的移码,也是标准移码,即10000000B+(-1111000B)=10000000B+(10001000B)=00001000B。这样移码就可以表示为原数的补码加上偏移值。在[[IEEE 754]]浮点数表示中移码是非标准的,它的偏移值为2<sup>k</sup>-1,也就是说对于[[单精确浮点数|单精度浮点数]]的偏移值为127。 == 移码的由来 == # 在[[数轴]]上,移码所表示的范围,恰好对应于[[真值]]在数轴上的范围向正方向移动<math>2^{n}</math>个单元 # 补码表示的好处在于去掉了负号,但人们很难从形式上判断真值大小,与人们的习惯不符;因为补码表示中符号也成了一位二进制的数,而移码的表示中与补码相差一个符号位,而且可以从移码看出真值的大小,转换方便。 :对此进一步解释: ::-128<sub>[移]</sub>: 00000000 ::-127<sub>[移]</sub>: 00000001 ::-126<sub>[移]</sub>: 00000010 ::...... ::+126<sub>[移]</sub>: 11111110 ::+127<sub>[移]</sub>: 11111111 == 移码的用途 == 移码主要用于表示[[浮点数]]的阶码,在浮点数运算中有优势。 == 移码表示中的问题 == # 对移码运算的结果需要加以修正,修正量为2En,即对结果的符号位取反后才是移码形式的正确结果。 # 移码表示中, 0有唯一的编码——1000…00,当出现000…00时(表示-2En),属于浮点数下溢。 == 参考文献 == # IEEE 754:http://grouper.ieee.org/groups/754/ {{Wayback|url=http://grouper.ieee.org/groups/754/ |date=20180419150129 }} [[Category:計算機算術]]
该页面使用的模板:
Template:Expand English
(
查看源代码
)
Template:Lang-en
(
查看源代码
)
Template:NoteTA
(
查看源代码
)
Template:Primarysources
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
移码
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息