嵌入式系统设计师学习笔记:数据的存储单位

数据的存储单位:

在计算机中,数据的最小存储单位为bit,1比特为一个二进制位。字节(Byte),一个字节为8个二进制位。

二进制有两个数:0,1。

①位b(bit比特)
②字节B(Byte拜特),千字节(KB),兆字节(MG),吉字节(GB),太字节(TB)。

1B = 8bit
1 KB = 1024 B = 2^10 B
1 MB = 1024 KB = 2^20 B
1 GB = 1024 MB = 2^30 B
1 TB = 1024 GB = 2^40 B
数的表示:

在计算机中码制的第一位二进制数代表符号位:0代表正数,1代表负数。
原码变为反码时,符号位不变然后按位取反。

数值的补码表示也分两种情况:
(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其他数取反码然后+1
例如:-7的补码:负数,则符号位为“1”,整个为10000111;
其余7位为-7的绝对值+7的原码
0000111按位取反为1111000;再加1,所以-7的补码是11111001。

由于为了简便计算机的计算,所以在计算机内部都只做加法运算,1-1=1+(-1);由图可见计算机用原码来计算时会出现符号的问题,反码运算时,会出现-0和+0的问题,因此计算机都采用的是补码运算。

补码中:1111 1111 固定为 -128。

定点数与浮点数的表示:

定点整数:小数点固定在整数的末尾且不占用位数。
例如:1 1111 1111.(小数点在末尾,首位为符号位)

定点小数:小数点固定在符号位的后面,数据前面。
例如: 1.1111 1111 (首位为符号位,小数点在符号位后面)

浮点数类似于十进制中的科学计数法。 例如:1000 = 1*10^3 (1乘以10的3次方)
浮点数中的阶码主要用移码来表示,阶码e决定数制表示的范围。
尾数M决定数制表示的精度。
在计算机中,基数R固定位2,用二进制表示。

浮点数与浮点数之间进行运算时,需要先进行对阶(阶码对齐)。

例如:(1.27*10^3 )+ (15.66*10^4)
	=(1.27*10^3) + (156.6*10^3) 将阶码换成相同的阶码
	=(1.27+156.6)*10^3          尾数相加再乘以阶数
	=157.87*10^3	            将结果格式化
	=0.15787*10^6