(持续更新中!!~)10、原来可以这样理解C语言_操作符详解(2)⼆进制和进制转换

目录

 二、⼆进制和进制转换

2.1 、2进制转10进制

2.1.1 、10进制转2进制数字 

2.2 、2进制转8进制和16进制 

2.2.1、 2进制转8进制

2.2.2、 2进制转16进制 


 二、⼆进制和进制转换

        其实我们经常能听到 2进制、8进制、10进制、16进制 这样的讲法,那是什么意思呢?其实2进制、8 进制、10进制、16进制是数值的不同表⽰形式⽽已。    

        数值15的各种进制的表⽰形式:

        15的2进制:1111

        15的8进制:17

        15的10进制:15         

        15的16进制:F

        //16进制的数值之前写:0x

        //8进制的数值之前写:0

        我们重点介绍⼀下⼆进制: ⾸先我们还是得从10进制讲起,其实10进制是我们⽣活中经常使⽤的,我们已经形成了很多尝试:

• 10进制中满10进1

• 10进制的数字每⼀位都是0~9的数字组成 

其实⼆进制也是⼀样的

• 2进制中满2进1

• 2进制的数字每⼀位都是0~1的数字组成

那么 1101 就是⼆进制的数字了。

2.1 、2进制转10进制

        其实10进制的123表⽰的值是⼀百⼆⼗三,为什么是这个值呢?其实10进制的每⼀位是有权重的,10 进制的数字从右向左是个位、⼗位、百位....,分别每⼀位的权重是 10 , 10 , 10 ... 

3d6f5cc2609ad09ec0c84e6a8d6a4898.png

        2进制和10进制是类似的,只不过2进制的每⼀位的权重,从右向左是:2 , 2 , 2 ...  0 1 2

如果是2进制的1101,该怎么理解呢?

a36a41a49871f2cc7744dbaf0f44f38e.png

2.1.1 、10进制转2进制数字 

8b4363c4c2c36ac1c44ac331369a2279.png

2.2 、2进制转8进制和16进制 

2.2.1、 2进制转8进制

        8进制的数字每⼀位是0~7的,0~7的数字,各⾃写成2进制,最多有3个2进制位就⾜够了,⽐如7的⼆ 进制是111,所以在2进制转8进制数的时候,从2进制序列中右边低位开始向左每3个2进制位会换算⼀ 个8进制位,剩余不够3个2进制位的直接换算。

        如:2进制的01101011,换成8进制:0153,0开头的数字,会被当做8进制。

        219e4647dd4bc932b42834d276647bca.png

2.2.2、 2进制转16进制 

        16进制的数字每⼀位是0~9,a~f的,0~9,a~f的数字,各⾃写成2进制,最多有4个2进制位就⾜够了, ⽐如f的⼆进制是1111,所以在2进制转16进制数的时候,从2进制序列中右边低位开始向左每4个2进 制位会换算⼀个16进制位,剩余不够4个⼆进制位的直接换算。

        如:2进制的01101011,换成16进制:0x6b,16进制表⽰的时候前⾯加0x       

3a2bcacdba6df8ee30de15882fe83c4e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值