第二章 计算机算术 学习笔记
2.1 数据是什么
数据是各种各样的信息,信息可以是能够被计算机存储和处理的任何事物
2.1.1 位与字节
计算机存储和处理信息的最小单位是位(bit),它是BInary digiT(二进制数)的缩写
数字计算机将信息以一组或一串比特(称作字)的形式保存在存储器中。
按照习惯,我们以最低位在最右端的方式书写二进制串。
计算机会对一组二进制位进行操作,8个二进制位为一个字节
2.1.2 位模式
信息表示
一个n位的字可以表示2^n个不同的位模式
指令
字长为32位或更长的计算机用一个字来表示CPU能够完成的操作(8位或16位计算机用多个字表示一条指令)
指令的二进制编码与其功能之间的关系由计算机设计者决定
数量
一个字或多个字都可以用来表示数量
数可以表示为多种形式
字符
字符是一个叫作“字符表”的集合中的元素
图像、声音、视觉
组成照片的基本单位是像素,每个像素大小可以是8位(单色)或24位(三基)
2.2 数字
2.2.1 位置记数法
采用位置计数法,一个数的数值等于它各位值得总和,而每一位的值是该位的数值乘以该位的权值
2.3 二进制运算
2.4 有符号整数
计算机设计者使用了三种方法:
1.符号及值表示法
2.二进制补码表示法
3.移码表示法
2.4.1 符号及值表示法
有符号数的值表示为: (-1)^S * M
表示范围: -( 2^(n-1) - 1) ~ +( 2 ^ (n-1) - 1)
2.4.2 二进制补码运算
微处理器用二进制补码系统表示有符号数,因为它可以将减法运算转换为对减数的补数的加法运算
1.求补运算
数N的补码定义为:2 ^ n - N = 2 ^ n - 1 - N + 1
2.补码的特点
1)补码是一个真正的互补系统, +X + (-X)= 0
2)补码0 表示为 00···0,是唯一的
3)补码最高位为符号位
4)n位二进制补码数表示范围为:- 2 ^ (n-1) ~ 2 ^ (n-1) - 1
5)补码加法和减法使用同样的硬件完成,因为补码减法由被减数加上减数的补数实现
3.运算溢出
2.5 乘除法简介
2.5.1 移位运算
2.5.2 无符号二进制乘法
部分积
移位和加法实现
两个n位二进制数相乘会得到一个2n位二进制数
2.5.3 快速乘法
2.5.4 除法
除法是通过被除数不断地减去除数直到结果为零或小于除数来实现
1.恢复余数除法
2.不恢复余数除法
2.6 浮点数
浮点运算即实数之间的运算