c语言--二进制和其他进制之间的转换

一、前言

其实我们经常能听到2进制、8进制、10进制、16进制这样的讲法,那是什么意思呢?其实2进制、8进制、10进制、16进制是数值的不同表示形式而已。
比如:数值15的各种进制的表表示形式:

152进制:1111
158进制:17
1510进制:15
1516进制:F

二、二进制、十进制、十六进制、八进制的组成

2.1二进制的组成

由0、1两个数字组成

2.2十进制的组成

由0~9数字组成组成

2.3八进制的组成

由0~7数字组成

2.4十六进制的组成

0~9、a、b、c、d、e、f

三、二进制转换为十进制

其实10进制的123表示的值是⼀百⼆⼗三,为什么是这个值呢?其实10进制的每⼀位是权重的,10进制的数字从右向左是个位、⼗位、百位…,分别每⼀位的权重是 10的0次方,10的一次方,10的二次方…如下图:
在这里插入图片描述

3.1 二进制转换为十进制

如果是2进制的1101,该怎么理解呢?
在这里插入图片描述

3.2十进制转换为二进制

在这里插入图片描述

四、二进制转八进制和十六进制

4.1二进制转八进制

八进制的数字每⼀位是0~7的数字,各⾃写成2进制,最多有3个二进制位就足够了,比如7的⼆进制是111,所以在2进制转8进制数的时候,从2进制序列中右边低位开始向左每3个2进制位会换算⼀个8进制位,剩余不够3个2进制位的直接换算。
如:二进制的01101011,换成八进制:0153,0开头的数字,会被当做八进制。
在这里插入图片描述

4.2二进制转换为十六进制

十六进制的数字每⼀位是0~9,a ~f 的,0~9,a ~f的数字,各自写成二进制,最多有4个二进制位就足够了,比如 f 的⼆进制是1111,所以在二进制转十六进制数的时候,从二进制序列中右边低位开始向左每4个二进制位会换算⼀个十六进制位,剩余不够4个⼆进制位的直接换算。
如:二进制的01101011,换成十六进制:0x6b,十六进制表示的时候前面加0x。
在这里插入图片描述

五、总结

在这里插入图片描述
在这里插入图片描述
欧耶!!!!!!我学会啦!!!!

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值