问题:什么是二进制?
原始时代,人类用路边的小石子,来统计放牧归来的羊只数量,这表明我们很早就产生了计数的意识。后来,罗马人用手指作为计数的工具,并在羊皮上画出Ⅰ、Ⅱ、Ⅲ来代替手指的数量。表示一只手时,就写成“Ⅴ”形,表示两只手时,就画成“ⅤⅤ”形等等。
公元 3 世纪左右,印度数学家(也有说法是阿拉伯人)发明了阿拉伯数字。阿拉伯数字由从 0 到 9 这样 10 个计数符号组成,并采取进位制法,高位在左,低位在右,从左往右书写。由于阿拉伯数字本身笔画简单,演算便利,因此它们逐渐在各国流行起来,成为世界通用的数字。日常生活中,我们广泛使用的十进制计数法,也是基于阿拉伯数字的。
这也是十进制计数法的基础。因此,相对其他计数方法,十进制最容易被我们所理解。
下面是二进制与十进制的表示方法
二进制的的53
二进制的的53
问题:一道面试题,如何写一个方法将10进制的数字转换为2进制的数 ?
解题思路:
function binary(num) {
// 存取每个位置的数组
var resArry = [];
// 存储二进制字符串
var binary2 = ''
i = 0;
// 循环取余 终止条件为num = 0 时
for (; num > 0;) {
resArry.push(num % 2);
num = parseInt(num / 2);
i++;
};
// 用堆栈的思想从后面取值
while (resArry.length) {
binary2 += resArry.pop()
}
// 返回2进制表示的方式
return binary2
}