首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >原码 反码 补码 之间在小数正数间的转换过程中_-128的原码反码补码

原码 反码 补码 之间在小数正数间的转换过程中_-128的原码反码补码

作者头像
全栈程序员站长
发布2022-09-30 19:13:36
发布2022-09-30 19:13:36
1K0
举报

大家好,又见面了,我是你们的朋友全栈君。

原码 反码 补码 之间在小数正数间的转换

基本转换

对于正数 原码等于反码等于补码(小数也一样) 对于负数 原码除了符号位取反即反码 反码基础之上+1即补码 但是在遇到某些题时候还是会混淆,比如三者在对+0,-0方面, 以及1.111 和1,111两者者的不同等 直接按机组课本的例题做例子

对0方面(对八位)

——

原码

反码

补码

+0

00000000

00000000

00000000

-0

10000000

11111111

00000000

由图可知补码在+0与-0时候表示是一样的 平时也说过8位机器码范围是-128~127 就是因为前者对应这补码的10000000后者对应着补码的01111111 而对原码和反码其表示范围则是-127~127

基本以及分数(小数)转换

设机器字长为8位(含一个符号位),写出下列真值对应的原码反码以及补码

——

原码

反码

补码

100

0,110 0100

0,110 0100

0,110 0100

-87

1,101 0111

1,010 1000

1,010 1001

这是比较简单的转换 用平时学的除而取余法即可 转换和上面说的方法一样100的三者都一样 -87的三者都有差别 其次注意上面用的都是逗号 表示是整数 下面描述分数

——

原码

反码

补码

-13/64

1.001 1010

1.110 0101

1.110 0110

29/128

0.001 1101

0.110 0010

0.110 0011

此处符号位与之后为点 那负数为例 -13/64 直接干就完了设置为【x】原=x0 x1 x2 x3 x4 x5 x6 x7 x8 x0是符号位所以x0绝对为1 至于后面的数如下图(xi都是0或1)

首先不管负号,2的-1和-2次方都比13/64大了所以不考虑所以x1,x2都是0,其实就是估那个数凑出能使等式相等就完了 上述的数都为1则等式左边为 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 等效 32/64 + 16/64 + 8/64 + 4/64 + 2/64 + 2/64 + 1/128

干就完了

补码整数以及小数对原反码的转换(4位为例)

补码

反码

原码

真值

补充

1.1100

1.1011

1.0100

-0.0100

干就完了注意是小数即可

0.1110

0.1110

0.1110

+0.1110

正数贼简单

1.0000

1.1111

-1

原码的局限性下同

1,0101

1,0100

1,1011

-11

逗号表示是整数

0,0111

0,0111

0,0111

+7

1.0000

1.1111

+16

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192579.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月17日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 原码 反码 补码 之间在小数正数间的转换
    • 基本转换
    • 对0方面(对八位)
    • 基本以及分数(小数)转换
    • 补码整数以及小数对原反码的转换(4位为例)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档