位与位运算

众所周知,在常见的计算机结构中,数据均以二进制形式存储,单个 0/1 单元称为位/比特(bit)。为了便于管理,每 8 位组成 1 个字节(byte)。使用前置修饰符,如 K —— 组成 KB 表示 2^10 byte 等。在硬件中,数据存储可能存在分区、分块等措施,此处不进行赘述。

利用 bitstring 函数,你可以方便地列出某个东西的各位数据

julia> bitstring(31)
"0000000000000000000000000000000000000000000000000000000000011111"

无符号整数

无符号整数的存储方式是最容易理解的:即单纯使用二进制。 以 22=(10110)_2 为例:
单位数值权值结果
010
122
144
080
11616

带符号整数

参阅此文

浮点数

浮点数的实现较为复杂,你将会在对应章节读到部分内容

位运算

在阅读布尔逻辑后,你应该可以推断出:形如“按位与”的运算,就是对于每一位,分别进行与运算

17&5 = ?

杂项

关于硬件上的具体实现,请参阅模拟电路数字电路《从0到1设计一台计算机》,也可以学习微电子。

你或许已经意识到,形如加法的运算可以使用位运算模拟。你可以尝试此题