《程序员的算法趣题》试读:二进制和十进制

二进制和十进制 有不少人虽然听说过计算机内部是基于二进制进行处理的,但没办法进一步理解这个概念。事实上,屏幕上显示的文字、图像,或者音乐、视频等,在计算机中都是基于二进制存储的。这里先介绍一下二进制。首先想想日常使用的数字。数数时我们都是0, 1, 2, …, 9, 10, 11, …,98, 99, 100, 101 这样数下去的。把这里用到的数字拆开来之后,会发现就只有0~9 这10 个数字。十进制就是使用这10 个数字来表示数的数字系统。 与此类似,二进制只使用0 和1 来表示数。即使位数增加,每个数位上也只会是这两个数字之一,因此用二进制来数数则是0, 1, 10, 11, 100,101, 110, 111, 1000, 1001, …。 十进制数3984 由3 个1000(= 103)、9 个100(= 102)、8 个10(= 101)和4 个1(= 100)组成。同样地,二进制数1011 由1 个8(= 23)、0 个4(= 22)、1 个2(= 21)和1 个1(= 20)组成。 也就是说,二进制数1011 是8 + 0 + 2 + 1,对应十进制数11。反过来,知道十进制数要求二进制数时,则是用这个数除以2,得到的商再除以2,再用这一步得到的商除以2,直到商变为0。最后,把过程中得到的余数逆序排列就能得到相应的二进制数。 举个例子,如果给定十进制数19,则求对应的二进制数的过程如下。 19÷2 = 9 余 1 9÷2 = 4 余 1 4÷2 = 2 余 0 2÷2 = 1 余 0 1÷2 = 0 余 1 从下往上排列余数后就可以得到二进制数10011。

>程序员的算法趣题

程序员的算法趣题
作者: [ 日] 增井敏克, 增井敏克
原作名: プログラマ脳を鍛える数学パズル
isbn: 7115459231
书名: 程序员的算法趣题
页数: 312
译者: 绝云
定价: 55.00元
出版社: 人民邮电出版社
出版年: 2017-7
装帧: 平装