鱼C论坛

 找回密码
 立即注册
查看: 2443|回复: 0

[技术交流] 复习——进制转化及补码总结

[复制链接]
发表于 2017-6-14 19:47:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
进制转换:
八进制的1位对应二进制的3位
十六进制的1位对应二进制的4位
八进制和十六进制之间的转换需先转换为二进制
c语言表示相应进制
8:以数字‘0‘开头
16:以0x开头


计算机存储数字以补码方式存储(为了解决负数的存储)
原码存储导致两个问题:
    1、0有两种存储方式
    2、正数和负数相加,结果不正确(计算机只会加,不会减)

反码存储导致一个问题:
    1、0有两种存储方式
反码(为了算补码)
    1、正数的原码和反码一样
    2、求原码
    3、符号位不变,其他位取反(0变1,1变0)

补码:
    1、正数的原码、反码、补码一样
    2、负数的原码为其反码+1
补码转原码:
1)求补码的反码,符号位不变,其他位取反
2)将得到的反码加1


十进制数:站在用户角度,原码
二进制、八进制、十六进制:站在计算机角度,补码

用八进制和十六进制对变量进行赋值时需采用’补码‘形式
printf函数下用%o或%x打印十进制数值时,输出结果为补码形式。
解读顺序:八(十六)进制数 -> 二进制数 -> 反码 -> 原码 -> 十进制数

评分

参与人数 2荣誉 +5 鱼币 +8 贡献 +3 收起 理由
honeyhhhh + 5 + 5 + 3
小甲鱼 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 21:53

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表