计算机中的数据存在形式1


进制

进制有许许多多,如计算机、电路的二进制(断电、通电),时间的60进制(时分秒)、12进制(12小时制)、24进制(24小时制)月份的28、30、31进制。年份的365、366进制。数学计数的10进制,计算机中的8进制,流量的1024进制等等…

进制的转换与我们的生活息息相关。

|十进制 |二进制 |
|——————————-|
|….. |….. |
|0.125 | 0.001 |
|0.25 | 0.01 |
|0.5 | 0.1 |
|0 | 0 |
|1 | 1 |
|2 | 10 |
|3 | 11 |
|4 | 100 |
|5 | 101 |
|6 | 110 |
|7 | 111 |
|8 | 1000 |
|16 | 10000 |
|32 | 100000 |
|64 | 1000000 |
|128 | 10000000 |
|256 | 1 00000000 |
|512 | 10 00000000 |
|1024 | 100 00000000 |
|2048 | 1000 00000000 |
|4096 | 10000 00000000 |
|8192 | 100000 00000000 |
|16384 | 1000000 00000000 |
|32768 | 10000000 00000000 |
|65536 | 10000000 00000000 |
|131072 | 1 00000000 00000000 |
|262144 | 10 00000000 00000000 |
|524288 | 100 00000000 00000000 |
|1048576|1000 00000000 00000000 |

计算机中的进制表示

计算机中的数据都是以0101的形式存储的。因为它识别(断电与通电)。0和1不是数字,而是占的一个”位”。系统中规定8个位为一个字节。所有的整数都可以用二进制表示,但小数部分就没办法全部表示了。例如:0.5的二进制可以表示为0.1(0.5是1的一半,这是十进制中的理解方法。类比,我们可以得到0.1是二进制中的1的一半。继续类比推理的话,我们可以得到0.25的二进制为0.01,0.125的二进制为0.001,0.875呢?二进制就是0.111。)

那么怎么计算的?
假设有一个数5.375
它的整数部分5用二进制表示为101
小数部分则有公式可以计算。

取小数部分0.375,0.375×2=0.75
因为0.75<1,所以十分位用0表示
接着继续取小数部分0.75,0.75×2=1.5
因为1.5>1,所以百分位用1表示。  
继续重复刚刚的步骤取小数部分0.5×2=1.0
因为1.0=1  
所以千分位得到的数字是1  
所以最后转换的结果是101.011

前面说过并不是所有的小数都能用二进制表示。例如1/3,我们知道十进制里,它是0.333…循环在二进制中就无法表示了。在编程语言中,我们计算1/3再×3的话,只能得到0.999…(会出现精度丢失)所以我们需要指明精度。

计算机的最小储存单位是位’b’(bit),接下就是字节’B’(byte)了。
8b=1B
其他常用的单位还有千字节’K/KB’(kilobyte),1K=1024B,兆字节’M/MB’(Megabyte),1M=1024K,吉字节’G/GB’(Gigabyte)。

每个英文字母占一个字节,不同编码中,中文占的长度是不同的,通常中文占2个字节,utf-8字符集里,中文占3个字节。

我们知道计算机可以用0101储存这些信息,那么算盘呢?
答案当然是可以,算盘是通过二进制,五进制,十进制结合来处理信息的。
只要我们给算盘上的每个珠子以及它们的不同含义,它们就能储存不同的信息了。

假设有一张图片是800×600的大小(单位px),那么它的每一个像素都可以用二进制可以表示。从左上角(0,0)开始,记录每一个从左往右依次记录每一个像素的黑白颜色,假设屏幕大小为1440×900,那么第一行记录到(1439,0)后会到下一行继续记录,下一行就从(1440,0)继续记录了。知道將整副图记录完毕,下次调用的时候,按照记录的信息每个位置与位置的对应的颜色还原就可以了。

彩色(255色)的图片,没办法像黑白色那样简简单单的用01这2种状态来表示,所以我们需要储存比黑白图片多一点的信息,那就是颜色的编码。

图像能够储存,声音也一样可以。我们需要的是捕捉到声音。
还在学习的时候,物理老师就告诉过我们声音是通过振动产生的。我们想要储存声音,就需要捕捉振动,振动需要捕捉的是它振动的频率。
在网上下载歌曲的时候,我们可以看到一条信息,有损音质、无损音质。它们的区别就是码率的不同。记得前段时间,UC资讯中看到有损与无损的区别之一就是,它们之间储存的振动频率(码率,即每秒振动的频率的数量)不同。

视频的储存是建立在声音与图像的基础上的。每秒展现数帧的图像,就是小视频了。这时候的视频并没有声音。在前面提到的,捕捉声音可以每秒捕捉多少振幅,图像的展现是以秒为单位,声音的展现也是以秒为单位,如果在播放视频的同时,播放这一秒的声音,这就是有声视频了。將对应的视频与声音合并成一个文件,这就是视频了。电影也是如此。

我想,大家应该都玩过arp游戏什么的,手游什么的。这类游戏是通过控制来达到接下来的信息的展现。控制是一个输入信号。如果没有输入信号,整个游戏就像是在播放视频一样。我们通过判断输入信号改变输出结果。这就是游戏了。

系统

一个系统至少得有输入 输出 处理器 储存介质 控制器等几部份的存在才能称得上系统。

小明打电话对小智说:”小智,我现在不在公司,你去帮我拿下快递。谢谢!”

此时,小智接到电话,收到一个一个请求(输入),经过大脑(cpu)处理后。得到结论(放下手中的事,到公司门口,取快递,代保管,等小明回来后交还给他)。并加以行动(四肢受大脑控制)。

计算机是一个系统。虚拟世界也是一个系统。这些都是我们人创造出来的。

我们能看到物体,是因为我们的眼睛捕捉到了直射(太阳光),反射(各种物体)的光线。并对光线处理之后产生的结果。
既然人能做到,机器人也能。机器人的眼睛有光传感器,它也一样能捕捉到并加以处理。

我们能听到声音是因为我们捕捉到的声音是耳膜振动产生的。得到信息后经过大脑处理就得到了我们所听到的声音。
机器人也有耳朵,它的结构和我们不同,它有声音传感器。它捕捉到信息后也可以进行处理。

我们人有酸甜苦咸鲜等感觉。
机器人有各种传感器。

美国有研究机构在研究人脑,人脑里有无数神经元,每一个神经元都是一个cpu。他们似乎看到了一些规律,但却没有办法掌握。这些神经元之间有着我们暂时无法探索出来的规律与奥秘,并且在研究的过程中是在变动的。

我们从初始开始也不是什么都会,一切都是后天学习的成果。

如果能够將几亿的cpu集成到一个cpu上,机器人未尝不能达到人一样。像人一样学习、做事。只不过现在的工艺上来说,还达不到罢了。

题外话

我们能够开发出游戏,游戏是一个世界。里面有着角色,角色有着各种信息,受游戏玩家的控制而行动。我们相对游戏中的角色而言是高等智慧。

类推,我们也有可能受比我们更高等一层智慧的控制,这个世界、宇宙也许是它们创造的。而我们的行为受到它们的控制。

呃,这些都是题外话,虽然未尝不可能,但是如果真是如此,因为游戏可以重新来过,所以就不会存在世界末日这一说了。

但我们知道,这是不可能的。

新手一枚,对诸多事物了解得并不透彻,还望各位一起交流探讨。 :)


文章作者: 牟勇
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 牟勇 !
  目录