fbpx
维基百科

移码

计算机科学中,移码(英語:Offset binary)是一种将全0码映射为最小负值、全1码映射为最大正值的编码方案。移码没有标准,但通常对于n位二进制数,偏移量K = 2n−1——这使得真值0的编码的最高位为1、其余位均为0,相当于补码表示的最高位(符号位)取反;另外,移码在逻辑比较操作中可以得到和真值比较相同的结果,补码则当且仅当符号相同时逻辑比较操作的结果和真值比较相同,否则比较结果将颠倒(负值比正值大)。

示例

-120D = -01111000B(真值)

原码:11111000

反码:10000111

补码:10001000

移码:00001000

这样的移码也可以叫做偏移值为128的移码,也是标准移码,即10000000B+(-1111000B)=10000000B+(10001000B)=00001000B。这样移码就可以表示为原数的补码加上偏移值。在IEEE 754浮点数表示中移码是非标准的,它的偏移值为2k-1,也就是说对于单精度浮点数的偏移值为127。

移码的由来

  1. 数轴上,移码所表示的范围,恰好对应于真值在数轴上的范围向正方向移动 个单元
  2. 补码表示的好处在于去掉了负号,但人们很难从形式上判断真值大小,与人们的习惯不符;因为补码表示中符号也成了一位二进制的数,而移码的表示中与补码相差一个符号位,而且可以从移码看出真值的大小,转换方便。
对此进一步解释:
-128[移]: 00000000
-127[移]: 00000001
-126[移]: 00000010
......
+126[移]: 11111110
+127[移]: 11111111

移码的用途

移码主要用于表示浮点数的阶码,在浮点数运算中有优势。

移码表示中的问题

  1. 对移码运算的结果需要加以修正,修正量为2En,即对结果的符号位取反后才是移码形式的正确结果。
  2. 移码表示中, 0有唯一的编码——1000…00,当出现000…00时(表示-2En),属于浮点数下溢。

参考文献

  1. IEEE 754:http://grouper.ieee.org/groups/754/ (页面存档备份,存于互联网档案馆

移码, 此條目過於依赖第一手来源, 2012年9月21日, 请補充第二手及第三手來源, 以改善这篇条目, 此條目可参照英語維基百科相應條目来扩充, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签. 此條目過於依赖第一手来源 2012年9月21日 请補充第二手及第三手來源 以改善这篇条目 此條目可参照英語維基百科相應條目来扩充 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 在计算机科学中 移码 英語 Offset binary 是一种将全0码映射为最小负值 全1码映射为最大正值的编码方案 移码没有标准 但通常对于n位二进制数 偏移量K 2n 1 这使得真值0的编码的最高位为1 其余位均为0 相当于补码表示的最高位 符号位 取反 另外 移码在逻辑比较操作中可以得到和真值比较相同的结果 补码则当且仅当符号相同时逻辑比较操作的结果和真值比较相同 否则比较结果将颠倒 负值比正值大 目录 1 示例 2 移码的由来 3 移码的用途 4 移码表示中的问题 5 参考文献示例 编辑 120D 01111000B 真值 原码 11111000反码 10000111补码 10001000移码 00001000这样的移码也可以叫做偏移值为128的移码 也是标准移码 即10000000B 1111000B 10000000B 10001000B 00001000B 这样移码就可以表示为原数的补码加上偏移值 在IEEE 754浮点数表示中移码是非标准的 它的偏移值为2k 1 也就是说对于单精度浮点数的偏移值为127 移码的由来 编辑在数轴上 移码所表示的范围 恰好对应于真值在数轴上的范围向正方向移动2 n displaystyle 2 n 个单元 补码表示的好处在于去掉了负号 但人们很难从形式上判断真值大小 与人们的习惯不符 因为补码表示中符号也成了一位二进制的数 而移码的表示中与补码相差一个符号位 而且可以从移码看出真值的大小 转换方便 对此进一步解释 128 移 00000000 127 移 00000001 126 移 00000010 126 移 11111110 127 移 11111111 dd 移码的用途 编辑移码主要用于表示浮点数的阶码 在浮点数运算中有优势 移码表示中的问题 编辑对移码运算的结果需要加以修正 修正量为2En 即对结果的符号位取反后才是移码形式的正确结果 移码表示中 0有唯一的编码 1000 00 当出现000 00时 表示 2En 属于浮点数下溢 参考文献 编辑IEEE 754 http grouper ieee org groups 754 页面存档备份 存于互联网档案馆 取自 https zh wikipedia org w index php title 移码 amp oldid 61704021, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。