《程序是怎样跑起来的》读书笔记(二)数据是用二进制表示的
前言
继续翻览《程序是怎样跑起来的》
本节是第二章
数据是用二进制表示的
1、用二进制的原因
IC(intergrated circuit)的所有着所有引脚,只有直流电压0V 或5VB 两个状态
也就是说,IC 的一个引脚,只能表示两个状态
(注:据笔者所知,前苏联有三进制的计算机)
2、移位运算和乘除运算
二进制数左移后就会变成原来的2 倍、4 倍、8 倍
反之,二进制数右移后则会变成原来的1/2、1/4、1/8
故移位运算可代替乘除运算
3、便于计算机处理的“补数”
二进制数中表示负数值时,一般会把最高位作为符号来使用,因此我们把这个最高位称为符号位
- 符号位是0 时表示正数
- 符号位是1 时表示负数
补数:将各数位的0 取反成1,1 取反成0,然后再将取反的结果加1
故若1是00000001,则-1是11111111
利用补数做加法来代替减法
4、逻辑右移和算术右移
逻辑右移:右移后在最高位补0
算术右移:右移后补符号位
5、逻辑运算的窍门
逻辑运算
- NOT
- AND
- OR
- XOR
见下表
以图形来看
结语
看了第二章意识到这本书是入门中的入门
讲的非常朴素易懂
面向的读者是完全不了解程序的人