03新手之章(番外篇)—— 计算机的单位和二进制

Posted 胖仙人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03新手之章(番外篇)—— 计算机的单位和二进制相关的知识,希望对你有一定的参考价值。

序言

在我们正式学习一个C语言程序的基本要素之前,先通过这篇文章,了解一下计算机中的单位,以及什么是二进制和ASCALL码,了解完本篇文章内容,将对初学者后面的学习有很大的帮助,干货满满,认真阅读哦!如果文章有错误的地方,还请各位读者及时在评论区中指出,一起学习,一起进步!


一、计算机中的单位

我们应该都经历过这样一个场景,在工作群或者学校通知群里下载文件的时候,都会有一栏说明文件的大小是多少,如图,数字后面跟着KB,MB,B等,这些就是计算机中的单位,用来衡量一个文件要在我们的电脑中要占的空间大小。

计算机中最小的单位是bit(比特),我们也可以叫他”位“,比如现在计算机有常见的32位或者64位,这里的”位“,其实就是比特;

bit之上,是Byte(字节),简写位B,1个字节由8bit构成,即1Byte = 8bit;

从Byte往上,单位换算的进率变为1024,即:

1KB = 1024B = 2^10B(二的十次方);

1MB = 1024KB = 2^20B;

1GB = 1024MB = 2^30B;

1TB = 1024GB = 2^40B;

以上,就是对计算机中单位的说明。


二、二进制

  • 了解二进制之前,我们首先要知道,我们日常生活中用的数字,都是十进制数字;什么是十进制呢?

我们从0开始数数:0,1,2,3,4,5,6,7,8,9,10,11,12……

从排列中我们不难发现,当数字达到9之后,后面的数字全都是由前面的数字构成的,比如12,就是由1和2两个数字构成的,所以,我们日常写数字的时候,不管是几位数,每一位上的数字最大都不会超过9,这就是十进制。

那同样的道理,二进制就是我们不管写几位数,每一位上的数字最大,不会超过1。

  • 我们如何去理解进制这个概念呢?

从本质上来说,不管是二进制,十进制,还是其他的进制,都只是数字的的表达形式;只是在日常生活中,我们习惯于用十进制来作为标准去表示数字,并且利用这个标准,去换算这个数字在其他进制下的表达形式,听着有些绕,直接举个例子:

2(十进制)---换算---> 10(二进制);

这时,我们就是以十进制下的数字2作为标准,通过换算,来得到数字2在二进制下的表现形式;要注意的是,二进制下的10不读作十,因为二进制中没有十位,百位,千位的概念;直接从做往右,读作“一零”;

当然,十进制只是我们的表达习惯,标准是可变的 ,比如我们可以用八进制作为标准,去做八进制和二进制之间的相互转换:

7(八进制)---换算---> 111(二进制);

所以,再次说明,进制说到底,就是数字的不同表现形式,根据不同的进制,应用场所也有所不同。

  • 计算机中的二进制

有了上述说明,我们再来看看二进制在计算机中是如何体现的。

我们在桌面创建了一个文档,输入内容,如图:

 

点击保存,这时我们输入的这串英文在计算机中就会变成一个个二进制数保存在电脑的硬盘中

计算机中,一个二进制数的大小为1位(bit);保存文档时候,每个字母被计算机当成一个字符,所占大小为1字节,由8位二进制数构成;

如大写字母C,存到计算机中就被转换成二进制数’01000011‘;

  • ASCALL码

为什么大写字母C存到计算机中就会被转换成二进制数’01000011‘呢?为什么不会是其他的二进制数呢?这里就要引入一个新的概念,ASCALL码

我们人为规定了所有计算机中能使用到的字符都对应了一个十进制的整数作为其编号,而由于计算机是使用二进制来表示数的,所以字符存到计算机中,对应的字符整数编码就会转换为二进制编码,比如刚刚说到的大写字母C :

字母C在ASCALL码中对应的整数编号为67,被存到计算机中后

67 ----转换为二进制0----> 01000011

这就是为什么C存到计算机中只对应一个唯一的二进制数。

根据这样的规则,我们就有如下的ASCALL码表

(图片来自百度百科)

总的来说,我们保存文档,文档中的内容会被当成字符,每个字符对应一个唯一的整数编号,计算机会将这个整数编号转换成二进制之后存入计算机的硬盘中。


下节预告

以上就是对计算机以及二进制的讲解,相信你对计算机也有了一个初步的了解,下篇文章中,我们将会正式开启C语言的学习之路!想学习C语言的小伙伴,点赞收藏+关注,追更不迷路!

我是胖仙人,我们下次再见!

以上是关于03新手之章(番外篇)—— 计算机的单位和二进制的主要内容,如果未能解决你的问题,请参考以下文章

Android番外篇 关于移动端开发的设备属性说明(下)

Mysql番外篇--最左原则-03

Mysql番外篇--最左原则-03

Spring读源码系列番外篇---03---PropertyResolver的结构体系剖析---下

深度学习CPU(番外篇)——初识总线

Hyperledger Fabric 1.0 实战(二)番外篇docker使用