C语言学习笔记--进制转换

进制转换

什么是进制?

  • 十进制
  • 二进制
  • 八进制
  • 十六进制

进制转换

  • 短除法
  • 位权相加
  • 拆位

什么是进制?

一种带进位的计数方法。对任何一种进制—>N进制,都有逢N进一的运算方法。

在计算机中,常用到的进制有十进制二进制八进制十六进制,它们的进制运算规则分别是:逢十进一、逢二进一、逢八进一、逢十六进一。

十进制
组成:0  1  2  3  4  5  6  7  8  9
规则:逢十进一
表示方式:
例如	十进制数1314 可以写为(1314)10 或者 1314D (D表示十进制)	
二进制
组成:0  1
规则:逢二进一       1 + 1 = 10(这里的 10 对应十进制的 2)
表示方式:
例如	二进制数10101 可以写为(10101)2 或者 10101B (B表示二进制)	
八进制
组成:0  1  2  3  4  5  6  7
规则:逢八进一	     7 + 1 = 10(这里的 10 对应十进制的 8)
表示方式:
例如	八进制数520 可以写为(520)8 或者 520O (O表示八进制)	
十六进制
组成:0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
规则:逢十六进一	F + 1 = 10 	    1B + 1 = 1C
表示方式:
例如	十六进制数520 可以写为(520)16 或者 520H (H表示十六进制)	

在计算机中,为何会有这么多的进制表示方式呢?

这应该就得考虑这些进制的表示所带给我们的影响了,计算机中使用的机器语言,而机器语言是用二进制数表示的,二进制数优缺点如下:
优点

  • 方便:二进制数中只有0和1两个数码,可以运用在许多的元器件上使它们具有较强的稳定性。
  • 简单:二进制数运算简单,极大的简化了计算中运算部件的结构。
  • 可辨别真假:二进制天然兼容逻辑运算。

缺点

  • 二进制数在使用时,位数往往很长,我们在读写时很不方便,如:把十进制的100000D写成二进制就是11000011010100000B,所以其他进制由此产生了,计算机领域我们实际采用的是十六进制。

进制转换

进制转换

短除法

运用于十进制转其他进制。

  • 以十进制数520为例,分别转换为二进制、八进制和十六进制,转换过程如下:

短除法

位权相加

运用于其他进制转十进制。

  • 运算公式 = (数值 * 基数 ^ 编号)
  • 编号是从右往左开始编号,为0 1 2 3 4 5 6 …

二进制10 0000 1000 转十进制

98 7654 3210 编号
10 0000 1000 B
1*2^9 + 0 + 1*2^3 = 512 + 0 + 8 = 520 D

八进制1010 转十进制

3210 编号
1010 O
1*8^3 + 0 +1*8^0  = 520 + 8 = 520 D  

十六进制208 转十进制

210 编号
208 H
2*16^2 + 0 + 8*16^0 = 2*256 + 8 = 520 H  
拆位

运用于八进制、十六进制与二进制的相互转换。

八进制与二进制

  • 一个八进制数可以拆分为3个二进制数,3个二进制数可以合成一个八进制数。
//二进制转八进制
001 000 001 000 B
1   0   1   0   O
    
//八进制转二进制
1   3   1   4   5   2   0    O    
001 011 001 100 101 010 000  B

十六进制与二进制

  • 一个十六进制数可以拆分为4个二进制数,4个二进制数可以合成一个十六进制数。
//二进制转十六进制
0010 0000 1000 B
2    0    8    H
    
//十六进制转二进制
1    3    1    4    5    2    0    H
0001 0011 0001 0100 0101 0010 0000 B    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值