下面,我们来讲一下计算机的存储规则及进制转换
目录
1.进制
结论:在计算机中,任意数据都是以二进制的形式来存储的
1.1什么是二进制?
在讲二进制前,我们先来说一下十进制
十进制:由0123456789这10个数字组成,它是逢十进一,借一当十
由此得出二进制
二进制:由01这2个数字组成,它是逢二进一,借一当二
例如:
十进制 | 二进制 |
0 | 0 |
1 | 1 |
2 | 10 |
3 | 11 |
4 | 100 |
5 | 101 |
…… | …… |
1.2 常见的进制
二进制:由0和1组成,代码中以0b开头;
十进制:由0~9组成,前面不加任何前缀;
八进制:由0~7组成,代码中以0开头;
十六进制:有0~9和a~f组成,代码中以0x开头
1.3计算机为什么用二进制?
因为二进制的表示很方便。在计算机刚出来时,人们使用的是打孔机开写程序,有空代表0,没空代表1,用一连串的01来表示数据。后来到了电气时代,就是电压来表示,高电压表示1,低电压表示0,这样表示是非常方便。因为用二进制,你只需要表示2中状态,而用其他进制,你最少需要表示8中状态,很麻烦的。
1.4进制间的转化
进制间可以转化吗?当然可以,下面我们来具体看一下。
1.4.1任意进制转十进制
公式:系数*基数的权次幂 相加
系数:就是每一位上的数字
基数:当前进制数
权:从右往左,依次为0 1 2 3 4 5……
例如:
将二进制数11101转化为十进制数
1*2^0 + 0*2^1 + 1*2^2 + 1*2^3 + 1*2^4 = 1 + 0 + 4 + 8 + 16 = 29
将八进制数101转化为十进制数
1*8^0 + 0*8^1 + 1*8^2 = 1 + 64 = 65
将16进制数 a6c 转换为十进制数
12*16^0 + 6*16^1 + 10*16^2 = 12 + 96 + 2560 = 2668
注意:
二进制转十进制的快速转换法:8421转换法
解释:每一位二进制的1都是代表一个固定的值,把每一位的1所代表的的十进制数加起来的结果就是它所对应的十进制数
1.4.2十进制转任意进制
方法:除基取余法
解释:不断地除以基数(几进制,基数就是几)得到余数,知道商为0,再将余数倒着拼起来即可。
例如:
将十进制数11转换为二进制数:
2.计算机的存储
下面我们来讲一下计算机的存储
计算机中存三种格式的数据:文本,图片,音频。但是注意,在计算机中,所有数据都是以二进制的形式来存储的
2.1文本数据在计算机中的存储
文本数据有许多,下面我们来具体说一下不同文本数据在计算机中的存储方式
2.1.1数字
问:1个十进制数字99,在计算机中怎么存储?
答:转化为二进制存储
转化方式前面讲了,下面看一个应用:
打开我们电脑的计算器:
随便输入一个数字测试一下:
2.1.2字母
问:数字的存储我们知道了,那字母又是如何存储的呢?例如a在计算机中是如何存储的呢?
答:利用ASCII表
如下图:
就是先转换为十进制数,再转换为二进制数来存储
2.1.3汉字
问:汉字又是如何存储的呢?
答:利用Unicode编码
2.2图像数据
在说图像在计算机中如何存储之前,我们先来说一下图像的三要素:分辨率、像素、三原色。
2.2.1分辨率
要说分辨率,首先来说一下显示屏。常见的显示屏有2k屛和4k屛,2k屛中常见的是1920*1080,4k屛中常见的是3840*2160
下面就以1920*1080为例来说明一下
就是说你的屏幕宽有1920个小格子,宽有1080个小格子,然后它们共同组成你的显示屏
其中,一个小方格就是一个像素
2.2.2像素
如上面所说,那一个小方格就是一个像素
2.2.3黑白图
下面来看一张黑白图
黑色的地方为0,白色的地方为1,如此,就构造出了一副黑白图
2.2.4灰度图
下面再来看一张灰度图
原理和上面是一样的
2.2.5彩色图
三原色:红黄蓝
通过改变这三种颜色的比例,我们可以搭配出所有的颜色
计算机中的三原色(RGB):红绿蓝
计算机中的每个像素点都只包含这三种颜色,计算机通过调整这三种颜色的比例,就能显示出我们看到的各种各样的颜色了,如下图所示:
然后,每个像素点有坐标,计算机再记录每个像素点的坐标,如此排列起来,就形成了我们肉眼缩所见的图片了
以上就是图片的显示原理。
2.3声音数据
声音是一种波,不管任何声音都有其波形图,计算机中存储的就是声音波形图中每个点的值。
拓展说一下:
如何理解全损音乐和流畅音乐?
答:全损音乐中声音波形图中记录的数据偏少,流畅音乐中记录的偏多
3.小结
这篇文章算是一种拓展吧,主要讲了进制和计算机中的数据存储吧,了解即可