早教吧 育儿知识 作业答案 考试题库 百科 知识分享

将一个十进制数转换成二进制数,有什么便捷的算法?能心算就能出来的?例如100以内的取一数,25?

题目详情
将一个十进制数转换成二进制数,有什么便捷的算法?能心算就能出来的?例如100以内的取一数,25?
▼优质解答
答案和解析
方法一:
记住二的二次幂的值:2,4,8,16,32,64,128,256,…
找到比要转换的数小的最大幂:25->16,
要转换的数减去最大幂得到余数,并得到二进制数最高位“1”:25-16=9,
余数大于下一个幂,得到二进制数下一位“1”,余数减去下一个幂:9-8=1,
余数小于下一个幂1<4,得到二进制数下一位“0”,余数保持不变,
余数小于下一个幂1<2,得到二进制数下一位“0”,余数保持不变,
余数等于下一个幂,得到二进制数下一位“1”,余数为零.
最终得到二进制数11001.
方法二:
要转换的数连续除以二,取余数,见图: