C语言中进制的转换

1.1 计算机中的数据

计算机中的文本、图像、音频、视频等所有的数据,都采用的二进制方式进行存储

二进制数据:每一位的数据编码由0和1构成。最终的数据为二进制编码序列表示。

数据的整体读写不方便,对于某一位的读写比较方便。

十进制数据:每一位的数据编码由0~9十种状态构成。

数据的整体读写方便;对于某位的状态获取较麻烦,不利于计算机数据的表示。

为了能够更好的表示计算机数据,并且便于人的阅读,提供了八进制和十六进制表示。

八进制:每一位数据由0~7八种状态构成,数据的起始使用0表示; 0777;

十六进制:每一位数据由0~9和a~f十六种状态构成,数据的起始使用0x表示; 0x12345678

1.2 进制之间的转换

1.2.1 整数的进制转换

     a.十进制转换为:对应的二进制、八进制和十六进制编码形式。

循环将需要转换的十进制数据 对转换的编码进行取余和取整,直到整数为零结束;     

     b.对应的二进制、八进制和十六进制转十进制

将数据编码的位编码 * 进制的位次方并累加的结果;

1.2.2 小数的进制转换

小数转换位二进制编码:乘2取整,在循环对小数部分转换。

1.3 数据的存储

正数存储的数据的源码:其源码为数据本身的二进制编码

负数存储的数据的补码: -124

负数的补码,实质就是数据的正数部分的二进制编码取反+1

1) 正数部分的源码,也就是124的二进制编码: 0111 1100

2) 反码,是将源码的所有位取反,包括符号位:1000 0011

3) 补码:是反码+1 1000 0100

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值