赞助
<!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>
posted on 2020-11-15 00:20  Tsunami黄嵩粟  阅读(803)  评论(0编辑  收藏  举报