文章目录
一、不同进制之间的换算
1.二进制的最高位和最低位
2.十进制转二进制:除二反序取余法
3.八进制和十六进制
二、整数的加减运算
本节举的例子都用8个bit表示一个数,实际计算机做整数加减运算的操作数可以是8位、16位、32位甚至64位的。
1.Sign and Magnitude表示法
- 0表示正,1表示负,剩下的7位表示绝对值的大小,所以加法逻辑如下:
- 减法逻辑如下
- 缺点如下:
2.十进制的加减法
3.二进制减法方法1(用的少,0的表示不唯一,但是自己运算的速度快)
4.二进制减法方法2(用的多,但是自己的运算速度不快)
5.有符号数和无符号数
三、浮点数
1.浮点数的基本概念
(1)我们的模型由三部分组成:符号位、指数部分(表示2的多少次方) 和尾数部分(小数点前面是0,尾数部分只表示小数点后的数字) 。
(2)浮点数的格式
我们规定尾数部分的最高位必须是1,也就是说尾数必须以0.1开头,对指数做相应的调整,这称为正规化(Normalize)。
eg:
2.浮点数相加:做浮点运算时要注意精度损失问题
(1)
(2) 因此在绝大多数平台上,一个浮点数的所有bit是0就表示0值。
“用0初始化”的意思是变量 i 、变量 d 和数组元素 a[1]~a[9] 的所有字节都用0填充,或者说
所有bit都是0。
一个整数的所有bit是0都表示0值,但一个浮点数的所有bit是0一定表示0值吗?严格来说不一定。但是,在绝大多数平台上,一个浮点数的所有bit是0就表示0值。