在学习C语言之前,我们首先必须要掌握二进制的思想以及数据的储存知识,这对于我们的编程来说十分的重要!一般来说,大家平时使用的数字都是由0~9共十个数字组成的,例如1、9、10、297、952等,一个数字最多能表示九,如果需要表示十位以上的数字,我们还有十位数、百位数、以及千位数等等。
就好像我们要表示5+8的结果,一个数字不够,只能进位,用13来表示;这时进一位相当于十,进两位相当于二十。
而我们常用的这个进位的方法就叫做十进制(Decimalism)。在这里小编为大家科普一下:进制也就是进位制。在进行加法(减法)运算时,逢X进(借)一就是X进制,这种进制也就包含X个数字,基数为X。十进制有0~9共10个数字,基数为10,在加减法运算中,逢十进一,借一当十。所以我们称之为十进制。
假如我们可以用0~9共十个数字来表示数值,那么当然我们也可以用0、1两个数字来表示数值,这就是我们今天要讲到的二进制(Binary)。
首先我们来讲一下什么是二进制思想
二进制只有0和1两个数字,基数为2,在加减法运算中,逢二进一,借一当二。
下面我们来看一下具体的数例:
表示数值:0、1、10、111、100、1000001
加法:1+0=1、1+1=10、10+110=1000、111+111=1110、
减法:1-0=1、10-1=1、100-11=1、1010-101=101
假如我们要进行二进制和十进制的转换:
十进制4321=4×103+3×102+2×101+1×100
二进制1101=1×23+1×22+0×21+1×20=8+4+0+1=13
二进制110.11=1×22+1×21+0×20+1×2-1+1×2-2=4+2+0+0.5+0.25=6.75
为了让大家更加详细了解二进制加减法的运算过程,我们提供了两张示意图。
1)二进制加法:0001+0001=0010
2)二进制减法:0010-0001=0001
而在我们的内存中,数据就是以二进制的形式存储的。
接下来我们来了解一下内存中数据的存储。
大家可能并不了解,其实计算机要处理的信息是多种多样的,如十进制数、文字、符号、图形、音频、视频等,这些信息在人们的眼里是不同的。但对于计算机来说,它们在内存中都是一样的,都是以二进制的形式来表示。
所以我们必须了解二进制后才能够更好地学习编程,因为它是计算机处理数据的基础。
需要大家理解的是内存条是一个非常精密的部件,包含了上亿个电子元器件,所以这些元件小到基本达到了纳米级别,而它们实际上就是电路;电路的电压会变化,要么是0V,要么是5V,只有这两种电压。5V是通电,用1来表示,0V是断电,用0来表示。按这个原理推想,一个元器件有2种状态,0或者1。
所以当我们通过电路来控制这些元器件的通断电,会得到很多0、1的组合。举个例子:8个元器件有28=256种不同的组合,16个元器件有216=65536种不同的组合。尽管一个元器件只能表示2个数值,但是多个结合起来就可以表示很多数值了。
根据以上的原理:我们可以给每一种组合赋予特定的含义,例如,可以分别用1101000、00011100、11111111、00000000、01010101、10101010来表示C、语、言、中、文、网这几个字,那么结合起来11010000001110011111111000000000101010110101010就表示”C语言中文网“。
但是在一般情况下我们不一个一个的使用元器件,而是将8个元器件看做一个单位,即使表示很小的数,例如1,也需要8个,也就是00000001。
所以我们通常将1个元器件称为1比特(Bit)或1位,8个元器件称为1字节(Byte),那么16个元器件就是2Byte,32个就是4Byte,以此类推我们就可以得出:
8×1024个元器件就是1024Byte,简写为1KB;
8×1024×1024个元器件就是1024KB,简写为1MB;
8×1024×1024×1024个元器件就是1024MB,简写为1GB。
现在,你知道1GB的内存有多少个元器件了吧。所以我们通常所说的文件大小是多少KB、多少MB,就是这个意思。
下面我们来了解一下具体的单位换算:
8Bit=1Byte
1024Byte=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB
所以在内存的思想中是没有abc这样的字符或者gif、jpg这样的图片的,只有0和1两个数字,计算机也只认识0和1。所以我们计算机只能使用二进制,而不是我们熟悉的十进制,所以被写入内存中的数据都会被转换成0和1的组合。
怎么样,对于二进制的思想和数据的储存大家理解的怎么样呢?希望通过本文的学习大家能知道0和1怎么样组合,普通的加减法也能够算出二进制的数值,知道1GB的内存有多少个元器件。希望本文对大家有所帮助!
¥25.00¥49.00
¥98.00
¥150.00
¥100.00