16进制 转为图片 php_C语言零基础入门—进制转换-2

6e96268a1ba5f656e8c1c9857910d23c.png

C语言零基础入门——6.进制转换-2


这一节的任务是讲解 计算机的各个进制之间的转换


1. 前言

  • 上一节课我们讲解了进制转换的基本原理:进制转换说到底就是自己定义了一组基本数据,然后又自己定义了进位的规则而已。
  • 这一节课我们接着讲解进制相关的内容,我们学习进制的目的是为了更进一步的了解计算机的内部存储,但是我们不能忘记一件事:计算机是给人用的,它的存储也要符合当今的客观规律。也就是说不管是什么进制,最终都能够化为十进制。

2. 十进制与二进制之间的转换

  • 这两个之间的转换必须要熟练,因为我们日常生活用的就是十进制,计算机用的是二进制,从这一方面来看,这两个都是非常重要的。

2.1 十进制转二进制

  • 我们使用短除法进行,思路就是:用十进制的数一直除2,除的过程中记录下余数,直到这个十进制的被除数变为0(任何一个数除以比自己大的数得到的商为0,余数为本身)。然后把每次除2得到的余数从下往上按照从左往由的顺序排列起来,这个样子得到的0/1串就是十进制数的二进制表示了。是不是看的一脸懵逼,看下边的图就懂了
  • 比如:49 转为二进制的转换过程

40e85c1ff715939c9121f5401cb1c46d.png
  • 再举一个例子,将128转换成二进制

b1459144f219b7066b2d4b1a44f2fc2c.png

2.2 二进制转换成十进制

  • 二进制转换成十进制的方法有点类似于十进制里边的科学计数法,我们知道十进制的100000用科学计数法表示如图。

be15fbfb19db7f009eb105112ca7180d.png
  • 我们一直在用这个表示方法,但是我们有没有深入想过为什么是10的5次方,为什么不是以其他数字作为底数呢?答案是:因为10进制是国际上最常用的计算方法 所以科学计数法也是按照10的倍数来算。也就是说与十进制有关系的。
  • 这个样子我们类推一下,我们计算机使用的是二进制,所以我们的底数应该是2,对不对啊!答案是:对的呢!我们就给大家举两个栗子吧!
  • 比如:将二进制的 110001 转为十进制表示,如图:

e3e4331f5fbac80d1b04f87ce7375491.png
  • 再比如:把1000 0000转化为十进制

d1225ddad452a528d6fca7e6d135dbc6.png

以上,便是十进制 与 二进制 之间的转换了


3. 二进制与十六进制之间的转换

3.1 二进制与十六进制之间的关系

  • 有人要说了,既然计算机里边是存储的二进制,那我们还要16进制干嘛?说的没错,但是只说对了一半,计算机内部使用的确实是2进制存储,但是一串二进制数据放到人的面前,我相信绝大多是人都会是蒙蔽的,完全无法获得我们想要的信息嘛!!!
  • 因此16进制就是为了解决这个问题的,一般情况下我们审视的都会是16进制数据,而并非直接去看二进制数据。

3.2 二进制转换为十六进制

  • 二进制转换为十六进制,我们熟记一句话就可以了:二进制的四位 等于 十六进制的一位
  • 具体思路:把二进制从右到左按照四位四位进行划分,(最左端凑不够四位的补0),然后把每个四位按照二进制计算出十进制的数值,(这个数值不会超过15,即F)。
  • 如下例子:

6a5cab2f26f75c266bd2aed78fe86910.png
  • 在如下栗子:

c517c8b92cb41352b6ecd399d72c9d23.png
  • 为了防止初学者蒙蔽,我把对应的转换展示在下边了。自己好好看看

201a3c52a2f6caadcc796b4f1f3f7a2d.png

这个表不用背,大家看着自己算算,把原理弄明白就好了

3.3十六进制转为二进制

  • 这个思路是与二进制转为十六进制的思路相反,只要把十六进制的每一位换成二进制就可以了,(但是一定要确保换回来的是四位,如果不是四位,前边补0即可)
  • 例子如下:

c6465ec99f34933406b1c082643cc46a.png

4. 结束

4.1 上节课作业解答

  • 回顾题目:将 小猿笔记 这四个字作为原始数据,用四进制的形式写出 12个 数据。
  • 答案:

8e5aff2f2d976d945ca67ed4f6ac6159.png

答案如有疑问,请加我私人微信,为您解惑个人微信获取方式:关注公众号“小小猿笔记”,右下角点击即可看到!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值