当我们在计算机上输入单词时,它会将它们翻译成数字。事实上,对于计算机来说,所有的信息都是以一串 1 和 0 的形式写入的。计算机数字系统是我们在计算机系统体系结构中表示数字的方式。
数字系统是计算机科学家必须学习的最基本的概念之一。对于任何想成为计算机科学家或程序员的人来说,这都是重要的一步。
今天,我们将向您介绍计算机科学家必不可少的数字系统。我们将深入探讨二进制和十六进制数字系统。
什么是计算机科学中的数字系统?人类已经计算了很长时间。为此,我们使用将唯一符号与特定值相关联的系统。这称为数字系统,它是我们用来表示和操作数字的技术
数字系统的每个值都必须具有唯一的符号,必须保持一致,提供可比较的值,并且易于重现。
您可能最熟悉构成人类计数基础的十进制系统。十进制以 10 为底,因为它提供 10 个符号来表示所有数字:
人类使用十进制是因为我们有 10 个手指可以指望,但机器没有那么多。因此,我们创建了执行相同功能的其他数字系统。计算机代表信息的方式与人类不同,因此我们需要不同的系统来代表数字。
计算机支持以下数字系统:
- 二进制
- 八进制
- 十进制
- 十六进制
计算机使用位来表示信息。位是计算机中最基本的存储单位。计算机的一个重要组成部分称为晶体管。就像电灯开关一样,晶体管允许或阻止电流流动。所以,它只有两种状态:on和off。
计算机中的每个数字都是电信号。在计算机的早期,电信号用“开”状态(负电荷)和“关”状态(正电荷)表示。这形成了一种二进制开关。
这两个状态可以使用两个符号之一表示:1和0。这意味着二进制数字系统的基数是 2。只需要符号来表示每个数字。
二进制系统的基本数字很简单:0 代表低状态,1 代表高状态。
我们不是将数字表示为单独的单位(如数字 10 或 400),而是使用 1 和 0 的组。例如,这是计算机从 0 数到 10 时的样子:
这称为二进制数字系统。每个二进制数字称为一个位。例如,0110由 4 位组成,分别是0、1、1和0。当谈到为这个系统中的位(即数字)赋值时,我们从右到左放置与 2 的升幂相对应的值。
最右边的位称为最低有效位 (LSB),最左边的位称为最高有效位 (MSB)。
您可以使用按位运算符左右操作位,以在机器代码级别有效地更改数字的值。
十进制和二进制之间的转换现在我们了解了二进制系统的基础知识,让我们学习如何在十进制和二进制之间进行转换。我们从二进制到十进制的转换开始。
我们知道二进制系统具有 2 的幂位值。这些值是这些位置上数字(0 或 1)的权重。它是这样工作的:
- 我们将每个数字乘以它的权重(它的位置乘以 2)
- 我们将它们全部加起来得到十进制数
所以,让我们把二进制数 11111010 转换成十进制数。
--->
现在让我们反过来试试。我们如何将十进制数转换为二进制数?一种方法是重复除法,这是一个方便的捷径。
因此,以数字 19 为例。我们先将其除以二,然后记下余数。当我们将 19 除以 2 时,我们得到 9,余数为 1。
然后我们将 9 除以 2,结果为 4,余数为 1。这个过程一直持续到我们达到零。我们收集的余数构成了我们的二进制数!