Node
字节
⭐字节(Byte)是存储数据的基本单位,并且是硬件所能访问的最小单位通过“位运算符” 控制到位数
一个字节8个比特,1024个字节算1k
计算字节长度
中文是3个字节,英文是一个字节
js
console.log(Buffer.from("唐").length ) // 3
console.log(Buffer.from("hi").length ) // 2
进制
进制必须在 2-36 之间
- 2进制 01 以 0b 开头
- 3进制 012
- 8进制 0 - 7 ,可以以 0o 开头
- 10进制 0 - 9
- 16进制 0-9 A -F,以 0x 开头
- 36进制 0-9 A-Z
进制 | 英文 | 范围 | 前缀 | 后缀 |
---|---|---|---|---|
二进制 | Binary - 二进制 | 0-1 | 0B | B |
八进制 | Octal- 八进制 | 0-7 | 0O | O |
十进制 | Decimal - 十进制 | 0-9 | 无 | D |
十六进制 | 十六进制 Hexadecimal - 十六进制 | 0-9,A-F | 0x | H |
转进制
转10 进制
js
parseInt("11", 2); // 3 2进制转10进制
parseInt("77", 8); // 63 8进制转10进制
parseInt("e7", 16); //231 16进制转10进制
0.2 转 2进制
js
0.2 转 2进制
0.2.toString(2) // '0.0011001100110011'
// 获取整数部分
0.2 * 2 = 0.4 // 0
0.4 * 2 = 0.8 // 0
0.8 * 2 = 1.6 // 1
0.6 * 2 = 1.2 // 1
0.2 * 2 = 0.4 // 0
0.4 * 2 = 0.8 // 0
0.8 * 2 = 1.6 // 1
从上到下就是 0011 0011 0011
10 转 2进制
js
(10).toString(2) // 1010
// 余数为0
10 / 2 = 5 // 0
5 / 2 = 2 // 1
2 / 2 = 1 // 0
1 / 2 = 0 // 1
从下往上 1010
8进制转2进制 模拟代码
js
const target = 8;
function getNumber(num) {
let res = [];
while (num != 0) {
res.push(num % 2); // 取余数
num = Math.floor(num / 2); // 向下取整
}
return res;
}
console.log(getNumber(target).reverse().join(""));