标签:标识 诺伊曼 系统 utf-8 image 扩展 sci nic 正数
在上一篇写到冯诺伊曼结构中计算机的硬件组成,第一个就是存储器,用于存储数据和程序。那么这一节来梳理一下在计算机中这些数据是怎么存储的。
一、数字在计算机中是如何存储的
我们将数字分为整数和实数分别讨论
有三种存储方法:无符号表示法、符号加绝对值表示法、补码表示法
符号加绝对值表示法,最高位用于表示符号,0表示正,1表示负。先将绝对值转化为二进制,二进制不足n-1位的左边补0,再加上最高位的符号位。举例说明如下:
2. 实数
实数存储步骤如下:1.先规范化,移动小数点使得小数点左边只有一个1 。2.分别对符号、指数、尾数进行处理 。 3.连接符号、指数、尾数
*余码系统:
写到这里还是有些晦涩,下面就用我们熟悉的单精度和双精度来看一下。首先IEEE标准规定,单精度数用32位来存储,双精度数用64位来存储。
对于单精度来说,要用一位来标识符号,用8位来存储指数,用32位来存储尾数
对于双精度来说,要用一位来标识符号,用11位来存储指数,用52位来存储尾数
举例如下:
二、文本在计算机中是如何存储的
文本不能像数值那样可以转换为二进制,那我们是如何处理的呢?基本思想是:用一个二进制数来映射。我们熟悉的ASCII码就是一种映射对应关系。最开始时ASCII码是由美国人提出的,在英文中只有26个字母再加上一些符号,一共有127个,占用了最高位为0的8位二进制数就能映射完成,即0000 0000——0111 1111,十进制是0——127.ASCII表如下:
之后欧洲的ISO-8859-1 在ASCII的基础上,用了最高位为1的8位二进制数。称为扩展ASCII编码表。
那汉字是如何存储呢?我们知道常用汉字有几千个,用8位二进制肯定无法映射完,所以采用了16位两个字节,也称为全角(ASCII 半角)
我们常用的编码表还有Unicode,其中更加转换规则的不同,又有UTF-8、UTF-16、UTF-32.
三、音频在计算机中是如何存储的
因为音频会随着时间或空间连续的变化,存储时用的是模拟数据。涉及到声音的采样,所谓的采样就是选择采样的点来量度声音的值并记录下来。
而采样率就是每秒的采样数目,之后再经过量化将样本的值四舍五入为一个整数的过程。再编码,如果样本值为正数用无符号表示法,如果样本值有负数就用符号加绝对值表示法。而用于存储样本所用的二进制位数称为 位深度。位率表示 每秒音频存储时所用的二进制位数(位率=位深度*采样率)
例如:16b*40000个/s=640000b/s=78kB/s
当今主流的音频编码标准是MPEG Layer3(MP3)
四、图像在计算机中是如何存储的
图像的存储主要有两种:光栅图和矢量图
1.光栅图
2.矢量图
标签:标识 诺伊曼 系统 utf-8 image 扩展 sci nic 正数
原文地址:https://www.cnblogs.com/taoye1997/p/12097979.html