比特和字节
打算机处理信息的最小单位是比特,它相称于 1 位二进制数。
一样平常来说,二进制数的位数因此 8 的倍数来增长的,比如 8 位 16 位、32 位……这是由于打算机处理信息的基本单位是 8 位二进制数。 8 位二进制数也称为字节( byte)。字节是信息的基本单位。在内存和硬盘等设备中,数据因此字节为单位存储和读写的,不能以比特为单位来读写。

在我们人类的天下里,我们一样平常利用的是十进制数。十进制因此 10 为基数来记数的,那么, 二进制便是以 2 为基数来记数的。可能说“基数”不清楚在说什么,看个例子该当就会明白。
举个例子:
十进制的 110,可以拆解为 2 个 100、3 个 10 和 0 个 1;用算式表示为:
二进制的 110,可以拆解为 1 和 4、1 个 2 和 0 个 1;用算式表示为:
2 二进制的打算——位运算
移位运算是一种对二进制数的各位数字进行平移的运算。 将各位数字向左( 高位) 移位称为左移, 向右( 低位) 移位称为右移。 一次运算可以对数字平移多位。
1、 左移运算二进制 110100 向左移一位,便是在末端添加一位 0,因此 110101 就变成了 1101000。请把稳,这里谈论的是数字没有溢出的情形。
所谓数字溢出,便是二进制数的位数超过了系统所指定的位数。目前主流的系统都支持至少 32 位或者 64 位的整型数字,而 1101000 远未超过 32 位,以是不会溢出。如果进行左移操作的二进制已经超出了 32 位,左移后数字就会溢出,须要将溢出的位数去除。
如果将 1101000 换算为十进制,便是 104,你有没有创造,104 恰好是 52 的 2 倍。以是,我们可以得出一个结论:二进制左移一位,实在便是将数字翻倍。
2、右移运算二进制 110100 向右移一位,便是去除末端的那一位,因此 110100 就变成了 11010(最前面的 0 可以省略)。我们将 11010 换算为十进制,便是 26,恰好是 52 除以 2 的商。以是二进制右移一位,便是将数字除以 2 求商的操作。
3、 “与”运算
逻辑“与”的意思是,参与操作的位中全是 1,那么终极结果才是 1。
如果我们将二进制 110100 和 100011 的每一位对齐,进行按位的“与”操作,就会得到 110000。
4、“或”运算
逻辑“或”的意思是,参与操作的位中只要有一个位是 1,那么终极结果便是 1,也便是“真”。如果我们将二进制 110100 和 100011 的每一位对齐,进行按位的“或”操作,就会得到 110111。
5、“异或”运算
逻辑“异或”运算规则是“相同为 0,相异为 1”。如果要得到 1,参与操作的两个位必须不同,这便是此处“异”的含义。我们将二进制 110100 和 100011 的每一位对齐,进行按位的“异或”操作,可以得到结果是 010111。
二进制作为当代打算机体系的基石,这些根本的观点和操作,学习打算机的须要非常理解。







