Menu
CoddyTech

二进制数和十进制数

Coddy 位运算 课程的第 3 课,共 17 课。

在接下来的几节课中,我们将学习二进制数以及可以对它们执行的运算。因此,你需要了解如何将二进制数转换为十进制数,反过来又该如何转换,因为 C++ 和大多数其他编程语言都广泛使用十进制表示。(供你参考,十进制数也称为 10 进制数,二进制数也称为 2 进制数。在本课程中,我们会交替使用这些术语。)

一起来看看吧。

将十进制数转换为二进制数(2 进制)

步骤 1:将十进制数除以 2,取整数余数,并继续除,直到商为 0 或 1。

步骤 2:记下每次除以 2 得到的余数,并将它写在对应的被除数旁边。

步骤 3:然后从下往上依次写下这些余数,就能得到二进制数。

下面通过一个例子来理解这些步骤。

 

上面的例子中,我们取了 (25)10。按照上面的步骤,我们先反复将 25 除以 2,然后把整数余数写在对应的被除数旁边。接着从下往上读取,得到的数是 (11001)2 ,这就是 (25)10 的二进制形式。

二进制数最右边的一位称为 LSB(最低有效位),最左边的一位称为 MSB(最高有效位)。

将二进制数转换为十进制数

这个转换相对简单。

步骤 1:写下二进制数。

步骤 2:从左边开始,在给定二进制数的各位下方依次写出 2 的幂(20、21、22……一直写到最后一位)。

步骤 3:将这些数字分别乘以它们下方对应的 2 的幂,然后把结果相加,得到的数就是十进制数。

我们用这些步骤验证一下上面得到的二进制数,也就是表示 (25)10 的 (11001)2。

按照上面的步骤,我们先写下这个数,然后从左边开始,在二进制数各位的下方写出 2 的幂,将它们分别乘以对应的数字,再把结果相加,就得到了这个数的十进制形式。

你也来试试吧!随便取一些数,在二进制和十进制之间相互转换。务必熟练掌握二进制数和十进制数,因为整个课程都围绕它们展开。下一节课我们将学习位运算符。

亲手试试

这节课没有代码挑战。

位运算中的所有课

自己练习: C++ 在线编译器

检查进制转换: 进制转换器