《程序是怎样跑起来的》读书笔记(二)数据是用二进制表示的

前言

继续翻览《程序是怎样跑起来的》
本节是第二章
数据是用二进制表示的

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

见下表
在这里插入图片描述
以图形来看
在这里插入图片描述

结语

看了第二章意识到这本书是入门中的入门 讲的非常朴素易懂 面向的读者是完全不了解程序的人