算法,从承认自己是一个菜鸟开始!
前言
今天我们来看一个简单但非常有意思的问题 - 二进制求和。任何一个从事编程研发工作的人肯定都知道,计算机的世界都是二进制组成的,了解掌握二进制是必须的。
进制知识小课堂:
在JS世界中,有二进制、八进制、十进制、十六进制。
进制 | 规则 | 组成符号 |
二进制 | 逢二进一 | 0、1 |
八进制 | 逢八进一 | 0、1、2、3、4、5、6、7 |
十进制 | 逢十进一 | 0、1、2、3、4、5、6、7、8、9 |
十六进制 | 逢十六进一 | 0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f |
// 二进制 - 以0b/0B开头
const num1 = 0b10;
// 转为十进制输出 2
console.log(num1);
// 八进制 - 以0开头的非0值,不存在>7的字符
const num2 = 010;
// 转为十进制输出 8
console.log(num2);
// 注意这里:出现了>7的符号,已经不是八进制了,成了十进制
const num3 = 080; // 80
// 十六进制 - 以0x/0X开头
const num4 = 0x10;
// 转为十进制输出 16
console.log(num4);