c语言 补码,真值,原码,反码,机器数比较

补码,真值,原码,反码都由符号位和数值位组成
符号位:0为正,1为负
数值位:将想要表示的数转化为二进制数即可
1.机器数:机器无法区分正负,用0和1来区分,这样的数就是机器数
2.真值:带有 “+” 或者 “-” 的数称为 真值
真值:+ 00000000 00000000 00000000 00100101
注意:真值就是+、-号和二进制数组成
3.原码:就是将数转化为二进制数
原码: 00000000 00000000 00000000 00100101
注意:负数的原码,符号位始终为1,也就是第一位始终为1,剩下的位数依次取反
4.反码:正数的反码就是它的原码;负数的反码为原码的每一位的0变1、1变0
注意:为防止混乱,建议先转化为原码,再进一步转化
5.补码:正数的补码就是它的原码;负数的补码为它的反码加一
总结:
转化次序为:
真值
原码
反码
补码
个人经验:
1)最高位均为符号位;
2)当真值为正数时,原码、反码、补码的表示形式相同,符号位用 “0” 表示,数值部分真值相同;
3)当真值为负数时,原码、反码、补码的表示形式不同,但是符号位都用 “1” 表示,数值部分:反码是原码的 “按位取反”,补码是反码加一;
转化规律白话文:
正数死都不变
负数符号位就是1,永远不会变(除真值用-号);数值位:原码就是去掉正负号的二进制数,反码、补码就是去掉正负号的二进制数每位取反
符号位和数值位分开考虑,符号位正为0,负为1;数值位只考虑是否取反,不要想符号啥的,因为符号位一开始就选好了,不是吗?不要多想。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GG-BY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值