二.C++网络安全学院之进制的理解

从进制开始学习的原因

由于我们要学习编程的原理,而不只是单单的学习编程,所以就要去学习计算机底层实现的原理。

但是计算机只认识2进制,那么我们想要了解其本质,就必须了解进制。

刨根问底,方能成就大业,否则这些知识一定带不走...(Call back)

实际上我们无论写出什么样的代码,最后都是变成2进制被计算机执行的,也就是说我们要学习进制,其实主要就是要学习2进制。

从10进制的角度看待进制

10进制非常简单,我们现实生活中最常用的就是十进制。

10进制是由 0,1,2,3,4,5,6,7,8,9   共10个符号组成的逢10进1的一种进制。

这里面要注意的是,10进制中是没有10这个符号的, 哪个符号来代表10呢?其实是没有的。

10是由1和 0 ,2个符号组成的,而不是单独的一个符号。

知道了10进制的定义,我们引申出n进制定义。

n进制定义:由n个符号组成 逢n进位 。

n进制中是没有n这个符号的  。

例:2进制有2个符号组成,里面有2吗?

没有,逢2进位了,只有 0和1这2个符号。

生活中还有很多其他进制。

时间有60进制和24进制,分别是逢60进1和逢24进1。

一打啤酒12瓶,就是12进制,逢12进1。

进制的转换

进制我们谁都会,只是我们没有把他抽象成文字

例如

70秒你立刻就知道是1分钟零10秒,想想怎么算的呢?

25瓶你立刻就知道是两打零1个,又是怎么计算的呢?

自己莫名其妙的就会吧?  只是自己没有总结方法吧?

所以啊,我不是教你知识, 只是知识挖掘工,帮助你挖掘潜能。

看一下为什么70秒等于1分钟零10秒

70秒/进制 = 70秒/60  = 1分钟 余10秒

怎么样?得到什么启发了吗?

十进制转二进制

那么十进制3转成二进制等于多少?

3/2 = 1 余 1      十进制3 = 二进制 11 是不是很简单呢?

需要除多次的十进制转二进制大家可以不掌握,因为我们只要知道原理就可以了

例:

十进制 12 转 二进制

直接12除以2 看看有多少个进位  

12/2  = 60 (此时6在第二位,但是二进制是没有6的,所以要继续除)= 300(同理继续)= 1100(完全符合2进制的要求了)

二进制转十进制

一小箱白酒可以装2瓶 ,一个礼盒可以装2小箱,一大箱又可以装二个礼盒

请问 1大箱是多少瓶? 是不是感觉自己还是会的? 答案很简单:8瓶

其实就是对应的二进制转十进制  1000 = 8,列出来可能又看不懂了

那么我们来看看原理:

一个十进制数123,1为什么在百位?2为什么在十位?3为什么在个位?

实际上123  =  1*10*10 + 2*10 +3 = 1*进制*进制 + 2*进制 +3,

2在十位的原因是因为他有2个10,是进位而来的,1在百位是因为有10个10进位而来的。

那么上面的2进制1000 实际等于    1*2*2*2+0*2*2+0*2+0 = 8

怎么样懂了吗?

例:

二进制111转换成10进制

111 = 1*2*2 +1*2+1 = 7

这样2进制就转换成10进制了

例:

二进制 10000000000  =  十进制 1024

进制的运算

二进制加法

(101)2+(111)2=?

        101

+      111

_________________

     1100

1+1=10,逢二进一

二进制减法

(1111)2-(1001)2 =?

        11110

- 10011

__________________

        1011

10-1=1,被减数不够减向高位借1

视频链接:

计算的二进制理解

QQ交流群:833075627

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值