目录
前言
《计算系统基础》第六章 数据的机器级表示 本章主要介绍计算机内的信息表示方式(6.1-6.4)及其运算:算数运算(6.5)和逻辑运算,并讲解c语言支持的3中基本数据类型。
6.1 位和数据类型
1.位----最小的信息单位
位(bit),或比特,是"二进制位"的简称。多个位组合,就能使计算机表示出许多不同的数值。一般来说,如果有n位,最多能区分出2^n个不同的值。
2.数据类型
数据类型:在计算机上能对以某种表示法编码的信息进行运算,这种特殊的表示法被称作数据类型。
每种指令集结构都有自己的数据类型集和对这些数据类型进行运算的指令集。
下面介绍3种数据类型:二进制补码整数、ASCII码、浮点数数据类型。
6.2 整数数据类型
1.无符号整数
补充概念:位置计数法/定位数制
数制中的基数/基,如二进制系统里,2称为数制中的基数或基,二进制数为0和1。
如果采用二进制,使用n位数,就可以表示从0 到2^k-1共2^k个无符号整数。
2.有符号整数
正数:按照位置计数法直接表示。
负数:原码数据类型和反码数据类型。表示方法总结如下:
(但实际上,原码和反码在设计假发逻辑电路时都会使问题复杂化,于是出现了补码表示法)
6.3二进制补码整数
表示范围:-2^{k-1}到2^{k-1}-1
补码 | 二进制表示 |
0 | 0000 |
-1 | 1111 |
-2 | 1110 |
-3 | 1101 |
-4 | 1100 |
-5 | 1011 |
-6 | 1010 |
-7 | 1001 |
-8 | 1000 |
运算时忽略进位
6.4 二进制-十进制转换
二进制到十进制
1.判断符号位:(1)是0 -> 正数
(2)是1 -> 负数 余下各位按位取反,末位加一
2.计算:
3.加上符号!!!
十进制到二进制
1.观察法
如129,经观察知,129 = 128+1 = 2^7 + 2^0,故129用二进制表示为100000001。
2.除2取余法
除2取余,上右下左,正0负1,得到的是原码表示。
如果原数为负数,则再各位取反,末位加一
故123用二进制表示为01101111。
心得:二进制补码和十进制之间的相互转换,以原码为桥梁,因此对于负数的转换,都要经历各位取反,末位加一的过程