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

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

基本转换

对于正数 原码等于反码等于补码(小数也一样)
对于负数 原码除了符号位取反即反码
反码基础之上+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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号