bit、数据类型及其运算
一、bit和数据类型
-
bit——信息的基本单位
-
在符号层义上,物我们采用“1”标识两点间存在电压,而“0”标识两点间不存在电压。我们称这样一个要么是“1”要么是“0”的符号单位为一个“bit”,即所谓的二进制表示方法。
-
-
数据类型
-
不仅定义了数值的表达方式(或编码方式),同时还定义了相关的操作方法,则在定义上称该表达方式为一种数据类型
-
二、整数数据类型
-
无符号整数
-
有符号整数
三、补码
符号表示法 | 反码 | 补码 | |
---|---|---|---|
00000 | 0 | 0 | 0 |
00001 | 1 | 1 | 1 |
00010 | 2 | 2 | 2 |
00011 | 3 | 3 | 3 |
00100 | 4 | 4 | 4 |
00101 | 5 | 5 | 5 |
00110 | 6 | 6 | 6 |
00111 | 7 | 7 | 7 |
01000 | 8 | 8 | 8 |
01001 | 9 | 9 | 9 |
01010 | 10 | 10 | 10 |
01011 | 11 | 11 | 11 |
01100 | 12 | 12 | 12 |
01101 | 13 | 13 | 13 |
01110 | 14 | 14 | 14 |
01111 | 15 | 15 | 15 |
10000 | -0 | -15 | -16 |
10001 | -1 | -14 | -15 |
10010 | -2 | -13 | -14 |
10011 | -3 | -12 | -13 |
10100 | -4 | -11 | -12 |
10101 | -5 | -10 | -11 |
10110 | -6 | -9 | -10 |
10111 | -7 | -8 | -9 |
11000 | -8 | -7 | -8 |
11001 | -9 | -6 | -7 |
11010 | -10 | -5 | -6 |
11011 | -11 | -4 | -5 |
11100 | -12 | -3 | -4 |
11101 | -13 | -2 | -3 |
11110 | -14 | -1 | -2 |
11111 | -15 | -0 | -1 |
-
补码特征:
-
任意两个非0整数-A和A加法后结果应为00000
-
将数值-15到15的各个码字顺序排开,相邻两个码字之间的差值正好为00001
-
在补码运算中,进位bit始终是被忽略的
-
在补码表示中,如果已知一个非零整数A的码字,-A的码字即为A的码字按位取反加1
-
LC-3中采用16-bit补码方式。数值范围-32768--+32767
-
四、二进制数与十进制数之间的转换
-
二进制转十进制
-
符号检查与转换(正继续,负转正补码)
-
求绝对值的值
-
若为负,加上符号即可
-
-
十进制转二进制
-
奇数低位必为1,偶数低位必为0
-
先将十进制数N展开
-
如果N为正,则最高位取0
-
如果N为负,最高位补0,求该码字的补码。
-
五、bit运算之一:算数运算
-
加法和减法
-
按位对齐,从右向左依次计算,满二进一
-
一个数自己加自己等于自己左移一位
-
-
符号扩展
-
正数前加0,负数前加1
-
-
溢出
-
一个正数和一个负数相加,永不溢出
-
六、bit运算之二:逻辑运算
-
“与”运算
-
“或”运算
-
“非”运算
-
“异或”运算
七、其他类型
-
位矢量
-
假设存在n个单元,我们可以用一个n-bit的二进制数代表这n个单元。当某个单元空闲时,我们将相应的bit清0;当某个单元忙碌时,我们将相应的单元置1.我们这个二进制数为“位矢量”
-
-
浮点数
-
常见表示法(科学计数法)
-
1bit符号(正或负)
-
8bit数值范围(指数)
-
23bit数值精度(尾数部分)
-
-
IEEE浮点数(二进制的科学计数法)
-
正则化小数点左边有且仅有一位非0数字,但进制方式下,这个非0数字只可能是1,所以这个1不必表示。因而只要23bit就能表示24位的精度。即,必然存在的1被省略了
-
指数部分,实际的指数值等于该无符号整数减127之后的结果
-
符号位:0代表正,1代表负
-
如果指数字段为00000000,则代表指数值为-126,且小数点左边默认数字是0
-
-
-
ASCII码(8bit)
-
十六进制计数法