欢迎大家来到IT世界,在知识的湖畔探索吧!
1 使用二进制来理解数据
和人类的思维习惯不同的是,计算机将把所有的东西数字化之后才会进行处理。那么计算机能理解的数字是什么样的呢?其实,在计算机内部,不管是什么信息都使用二进制来保存和处理的。
计算机为什么要用二进制来处理信息呢
为什么计算机要用二进制来处理信息呢?高中化学有句名言“结构决定性质”;其实在计算机也适用。计算机的结构来决定了计算机需要使用二进制来处理信息。为什么这么说呢?上一篇中我们知道,计算机的硬件由大量的集成电路组成。 每块集成电路上都带有许多引脚。集成电路的所有引脚都有直流电压 0V 或 +5VC 两种状态。 也就是说,集成电路的每根引脚都只能表示两种状态。正是由于集成电路具有这样的特性, 所以计算机必然要使用二进制来处理信息。
比特和字节
计算机处理信息的最小单位是比特,它相当于 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、 左移运算
二进制 向左移一位,就是在末尾添加一位 0,因此 就变成了 。请注意,这里讨论的是数字没有溢出的情况。
所谓数字溢出,就是二进制数的位数超过了系统所指定的位数。目前主流的系统都支持至少 32 位或者 64 位的整型数字,而 远未超过 32 位,所以不会溢出。如果进行左移操作的二进制已经超出了 32 位,左移后数字就会溢出,需要将溢出的位数去除。
如果将 换算为十进制,就是 104,你有没有发现,104 正好是 52 的 2 倍。所以,我们可以得出一个结论:二进制左移一位,其实就是将数字翻倍。
2、右移运算
二进制 向右移一位,就是去除末尾的那一位,因此 就变成了 11010(最前面的 0 可以省略)。我们将 11010 换算为十进制,就是 26,正好是 52 除以 2 的商。所以二进制右移一位,就是将数字除以 2 求商的操作。
3、 “与”运算
逻辑“与”的意思是,参与操作的位中全是 1,那么最终结果才是 1。
如果我们将二进制 和 的每一位对齐,进行按位的“与”操作,就会得到 。
4、“或”运算
逻辑“或”的意思是,参与操作的位中只要有一个位是 1,那么最终结果就是 1,也就是“真”。如果我们将二进制 和 的每一位对齐,进行按位的“或”操作,就会得到 。
5、“异或”运算
逻辑“异或”运算规则是“相同为 0,相异为 1”。如果要得到 1,参与操作的两个位必须不同,这就是此处“异”的含义。我们将二进制 和 的每一位对齐,进行按位的“异或”操作,可以得到结果是 010111。
二进制作为现代计算机体系的基石,这些基础的概念和操作,学习计算机的需要非常了解。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/95063.html