1. 原码
🎄左边的第一位表示符号(0为正,1为负), 其余位表示数值.
真值变成原码的转换方法:
(1)取真值的绝对值的2进制表示。
(2)左边第一位添加符号。
例如:
考虑一个字节的存储,-127, 绝对值为127的2进制表示为 0111 1111,
添加符号(1)为 1111 1111。
当真值=0的时候,[+0]原可以表示成 0000 0000, [-0]原可以表示成 1000 0000。
2. 反码
🎄反码的表示方法是:
(1)如果是正数,反码与原码一样。
(2)如果是负数,反码是符号位不变,原码其余各个位取反.
例如:
[+127]原=0111 1111, [+127]反=0111 1111,
[-127]原=1111 1111, [-127]反=1000 0000。
[+0]原=0000 0000, [+0]反=0000 0000,
[-0]原=1000 0000, [-0]反=1111 1111。
3. 补码
🎄补码表示方法:
(1)如果是正数, 补码与原码一样。
(2)如果是负数,在反码的基础上+1。
例如:
[+127]原=0111 1111, [+127]反=0111 1111,[+127]补=0111 1111
[-127]原=1111 1111, [-127]反=1000 0000,[-127]补=1000 0001
[+0]原=0000 0000, [+0]反=0000 0000,[+0]补=0000 0000,
[-0]原=1000 0000, [-0]反=1111 1111,[-0]补=0000 0000。
原码、反码、补码对于正数和+0都是一样的。对于0,补码的表示唯一。
机器数: 数据在计算机中的表示形式。 数的符号存在最高位(左边),0代表正数,1代表负数。分成有符号和无符号两种。
A.对于无符号的数值,整个都是数值区。
B. 对于有符号的数值,数据分成两部分:符号位+数值区。
小数点:隐含表示,不占位置。
A. 对于无符号数值,小数点在最左边,代表是纯小数。在右边,代表纯整数。
B. 对于有符号的数值,小数点在数值区最左边,代表是纯小数。在数值区右边,代表纯整数。
真值:机器数对应的真实数值。
为了方便计算,带符号的机器数分成原码、反码和补码的不同编码方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了