<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
/*
数值类型 整数 浮点数(小数) NaN
整数 正整数 0 负整数 integer / int
在计算机语言中,常用的整数进制
二进制 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
各种进制之间数值的转化,我们没必要自己算
window系统中的计算器,给我们提供了这个功能
导航 ---> 程序员 ---> 进制 ---> 输入数据
计算器会自动计算其他进制的数值
JavaScript中也提供了进制转换的方法,我们之后会讲
进制不同,数值的的存储方式也不同
二进制 在存储数值前 添加 0b 或者 0B
计算机会自动按照二进制数值进行存储
八进制 在存储数值前 添加 0
计算机会自动按照八进制数值进行存储
十六进制 在存储数值前 添加 0x 或者 0X
计算机会自动按照十六进制数值进行存储
*/
// 二进制 数值前添加 0b 或者 0B
// 如果没有 前缀 0b或者0B 只会按照十进制形式存储,就是数值100100100
// 添加 0b或者0B 前缀后,会按照二进制形式存储
// 存储是按照二进制数值形式存储,输出时,默认统一都按照十进制数值大小输出
// 也就是 存储的是 二进制 100100100 输出时,自动输出 十进制数值 292
// var int1 = 100100100;
var int1 = 0b100100100;
console.log( int1 ); // 默认会按照十进制数值大小输出
console.log( int1.toString(2) ); // 强制会按照二进制数值大小输出
// 八进制
var int2 = 01234567;
console.log( int2 ); // 默认会按照十进制数值大小输出
console.log( int2.toString(8) ); // 强制会按照八进制数值大小输出
// 十六进制
var int3 = 0xabcdef;
console.log( int3 ); // 默认会按照十进制数值大小输出
console.log( int3.toString(16) ); // 强制会按照十六进制数值大小输出
// .toString(进制)
var int4 = 100;
console.log( int4.toString(3) ) // 强制按照其他进制输出
console.log( int4.toString(4) ) // 强制按照其他进制输出
console.log( int4.toString(36) ) // 强制按照其他进制输出
console.log( int4.toString(37) ) // 范围是2-36,多写了会报错
// 总结:
// 其他进制数值的存储和输出
// 1,存储时,必须添加前缀,否则会默认按照十进制数值存储
// 2,输出时,默认是转化为十进制数值大小输出
// 如果要维持原始数值进制形式输出,要在变量后添加 .toString(进制数值)
// 变量.toString(2) 二进制形式输出
// 变量.toString(8) 八进制形式输出
// 变量.toString(16) 十六进制形式输出
// 3, .toString(进制)
// 进制的数值范围是 2 -- 36
// 10个数值 + 26个英文字母
// 理论上最大进制是 36 进制
</script>
</body>
</html>