C语言 二进制

一、介绍

二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。

例如:
int a = 7

数字7 的二进制是 111

二进制的运算规律是  2^0 × 1 + 2^1 ×1 + 2^2 × 1 
从右到左,从2^0以此往后推进,而数字1 表示的是 2^0所在的权数是1


// 1 1 1 
       ↑
       2^0



二、二进制转八进制

//如果说二进制是0和1组成的,只有数字0和1。
//那么八进制则是由0~7之间八个数字组成的,只有数字0~7.

//且我们通过二进制的排放规律得到了一个规律。
//每当需要二进制转化八进制时,每三个二进制数位就可以转化为一个八进制数位

//原因如下:

// 000 -代表数字0
// 001 -代表数字1
// 010 -代表数字2
// 011 -代表数字3
// 100 -代表数字4
// 101 -代表数字5
// 110 -代表数字6
// 111 -代表数字7

// 因为八进制是0~7组成,所以我们可以利用以上的二进制数位来进行转化

// 例如:
// 二进制 - 01 101 011 
// 从右向左每三个可表示一个八进制数位,不够的用0凑 
// 因此我们得到了 011 表示 3  101 表示 5  01表示1
//所以这个二进制数 01 101 011 可以转化为八进制数 0153 其中0表示前缀并不具有任何作用只用于区分

 结论:从右向左每三个二进制位可表示一个八进制数位,不够的用0凑 

三、二进制转十六进制

// 关于十六进制,我们可以得知 十六进制是由0~15之间的十六个数字组成。
// 但是从数字10到数字15却难以用数字进行表达,所以从10到15用字母表示。
// a -10 b-11 c-12 d-13 e-14 f-15

// 而有了二进制到八进制之间的转化规律,二进制到十六进制也有规律
// 每四个二进制数位就可以转化位一个十六进制数位

// 例如:
// 二进制 - 0110 1011
// 通过二进制的权位相加得到 1011 - b 0110 -6
// 因此 二进制0110 1011 可以表示为十六进制的0x6b 其中0x表示为前缀

 结论:从右向左每四个二进制位可表示一个十六进制数位,不够的用0凑  

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值