位与位运算
位
众所周知,在常见的计算机结构中,数据均以二进制形式存储,单个 0/1 单元称为位/比特(bit)。为了便于管理,每 8 位组成 1 个字节(byte)。使用前置修饰符,如 K
—— 组成 KB
表示 2^10 byte 等。在硬件中,数据存储可能存在分区、分块等措施,此处不进行赘述。
利用 bitstring
函数,你可以方便地列出某个东西的各位数据
julia> bitstring(31)
"0000000000000000000000000000000000000000000000000000000000011111"
无符号整数
单位数值 | 权值 | 结果 |
---|---|---|
0 | 1 | 0 |
1 | 2 | 2 |
1 | 4 | 4 |
0 | 8 | 0 |
1 | 16 | 16 |
带符号整数
参阅此文
浮点数
浮点数的实现较为复杂,你将会在对应章节读到部分内容
位运算
在阅读布尔逻辑后,你应该可以推断出:形如“按位与”的运算,就是对于每一位,分别进行与运算
17&5 = ?
杂项
关于硬件上的具体实现,请参阅模拟电路、数字电路与《从0到1设计一台计算机》,也可以学习微电子。
你或许已经意识到,形如加法的运算可以使用位运算模拟。你可以尝试此题