十进制怎么转换成二进制:反复除2取余倒序排列即可
上周计算机基础随堂测验,卡了我好久的问题就是十进制怎么转换成二进制,对着空白草稿纸反复推演,越算越混乱,明明看着是简单的数字转换,却次次算出错误答案,看着身边同学快速落笔答题,心里满是焦躁。
最开始完全摸不着门道,凭着课堂上零碎的记忆瞎做题,误以为只要把十进制数字不断拆分、凑出2的倍数就行。算十进制8转二进制的时候,胡乱拼凑数字,拼出来的结果四不像,对照课本答案完全对不上,只能一遍遍划掉重写,卷面乱糟糟一片。
课堂上老师讲解的速度很快,只粗略过了一遍核心操作,当时走神漏听了关键步骤,只记住了转换和数字2有关,就自作主张用减法尝试转换,拿着数字一次次减2,统计剩余的数值拼接结果。现在回头看,这个方法完全行不通,不管是小数字的5、7,还是大一点的12、15,用这种方式算出来的二进制数全部出错,整整六道练习题,没有一道答对的,盯着满页错题,压根找不到出错的根源。
折腾好久才搞明白,转换的核心运算不是减法,是连续除以2。
整数的转换流程特别固定,没有任何花哨技巧,全程都是机械性运算。随便选取一个普通十进制整数,不间断用这个数除以2,每一次运算后,单独记录下余下的数值,不用管算出的商是多少,只留存余数。一直循环做除法运算,直到最后算出的商变成0,整个计算流程就可以终止。之前大部分错误,都是因为中途偷懒少算一次除法,或是随手漏掉了某一个余数。
当时立刻拿着错题重新实操,用十进制数字13做测试。第一次除以2,商是6,余数为1;第二次用6除以2,商是3,余数为0;第三次用3除以2,商是1,余数为1;最后用1除以2,商变成0,余数为1。全程记录下来的余数依次是1、0、1、1,当时随手顺着顺序写下数字,满心以为这次肯定对了,结果依旧是错的。
最容易踩的坑,就是余数的排列顺序。
后来才反应过来,所有记录下来的余数,绝对不能顺着写,必须从最后一个余数开始,倒着往前依次排列。刚才13算出的余数倒序组合后就是1101,对照标准答案核对,数值完全吻合。摸透这个细节后,才算真正掌握了转换方法,没有复杂公式,不用死记硬背口诀,就靠除2、记余数、倒序排列这三步,就能完成所有十进制整数转二进制的操作。剩下的课堂时间,把所有错题全部重新演算一遍,不管大小数字,准确率直接拉满。
下课铃响的时候,桌面上的草稿纸写满了密密麻麻的除法算式,划掉的错误笔迹和工整的正确答案交错在一起。