图解二进制,带你揭开二进制的神秘面纱!

举报
wljslmz 发表于 2022/09/14 09:57:27 2022/09/14
【摘要】 你好,这里是网络技术联盟站。二进制,多么熟悉的字眼,相信只要是学计算机的,二进制绝对是入门的第一节课必学的知识点。你肯定经常会听说“计算机底层数据传输就是通过二进制流”、“二进制就是0和1”等等说辞。对于二进制,更多的人还是停留在表面层的0和1,这个本身也没有错,不过既然今天写了这篇文章,那肯定是要从里到外扒个彻底。如果本文对您有帮助,欢迎收藏哦!让我们直接开始吧! 什么是二进制? 二进制是...

你好,这里是网络技术联盟站。

二进制,多么熟悉的字眼,相信只要是学计算机的,二进制绝对是入门的第一节课必学的知识点。你肯定经常会听说“计算机底层数据传输就是通过二进制流”、“二进制就是0和1”等等说辞。

对于二进制,更多的人还是停留在表面层的0和1,这个本身也没有错,不过既然今天写了这篇文章,那肯定是要从里到外扒个彻底。

如果本文对您有帮助,欢迎收藏哦!

让我们直接开始吧!

什么是二进制?

二进制是由Gottfried Leibniz发明的以 2 为底的数字系统,是四种数字系统之一

四种数字系统分别是:二进制、八进制、十进制、十六进制。

计算机系统中的所有数据都由二进制信息组成,二进制只有 2 个值:01

在布尔逻辑中,单个二进制数字只能表示 True (1) 或 False (0) ,但是,可以使用多个二进制数字来表示大数并执行复杂的功能,任何整数都可以用二进制表示。

在数字数据存储器、存储、处理和通信中,0 和 1 值有时分别称为“”和“”。

二进制也可用于描述已编译的软件程序,一旦程序被编译,它就会包含称为“机器代码”的二进制数据,可以由计算机的CPU执行。

二进制是如何工作的?

上面我们提到二进制1和0表示高低电平,在晶体管中,“0”代表没有电流流动,“1”代表允许电流流动

晶体管是控制电流的微型开关。

通过这种方式,数据才得以传输。

在计算的早期,将数据输入计算机的唯一方法是轻按开关或输入打孔卡或打孔纸带。

二进制例子

二进制数示例

二进制中没有 2、3、4、5、6、7、8 或 9.

每个二进制数字都简称为bit,也叫位,一位只能用于表示 2 个不同的值:0 和 1。

bit是计算机上数据的最小单位,其他单位还有:Byte、kb、mb、gb、tb等,它们的换算方式如下:

  • 1 B = 8 bit
  • 1 K = 1024 B
  • 1 M = 1024 K
  • 1 G = 1024 M
  • 1 T = 1024 G

当然了,还有更大的单位,比如:PB、ZB、EB、YB……

如何阅读二进制?

阅读二进制其实就是将二进制转化为我们可阅读的十进制的过程。

二进制中的数字 0 到 15:

由此看出二进制的权重是 2 的幂,而不是 10 的幂。

举个栗子:

我们二进制转十进制的时候,一般都是从右往左看,第一个数字是0,那么算出来就是0.

第二个数字是1,那么算出来就是2.

以此类推,最后二进制数11001010转为十进制就是0+2+0+8+0+32+64+128=234

彩蛋:如果快速地将十进制转为二进制

这里瑞哥教大家一个非常简单的方法:

举个栗子,比如现在有个十进制数:200

第一步:找小于其最大的2的次幂数

意思就是小于200的最大的2的次方的数,我们快速的在脑海中回忆一下“2,4,8,16,32,64,128,258”,这个时候就确定这个数是128

第二步:找第二个最大的2的次幂数

首先 200 - 128 = 72

72下一个最大的2的次幂数就是 64

第三步:以此类推

72 - 64 = 8

答案就出来了:200 = 128 + 64 + 8 = 2^7+ 2^6+ 2^3

也就是第4个、第7个、第8个为1,其他都为0.

我用图来演示一下:

首先记住这个换算:

200可以由128、64、8组成:

128、64、8所在位置为1,其他都为0:

这样的是不是很快就能算出来十进制数200转换为二级制数就是11001000.

这里是演示,所以步骤我列举的非常详细,但是这种方法是绝大数人使用的方法,一旦你掌握了,口算速度会非常快,大家可以刻意的去练习一下。

最后

计算机中一切都可以用二进制来表示,不管是图片、指令、文件还是视频都是可以用二进制数来表示,只是这些二进制数会根据类型进行编码,比如图片通常被编码成png、jpg等格式,指令就比较多了,比如“.bat”、“.py”、".sh"等,文件比如word、ppt、pdf等,视频比如mp4等。

总结

二进制0和1,两个简简单单、普普通通的数字构成了复杂的计算机系统,对于人类文明的进步可谓是不可衡量的,那么本文主要介绍了什么是二进制、二进制如何工作、二进制的例子,以及二进制和十进制互换算。

朋友们,你们懂了吗?

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。