• 【每日知识】进制转换:二进制、八进制、十六进制


    前言

    在JavaScript中,我们可以分成两种类型:

    基本类型;

    复杂类型;

    两种类型的区别是:存储位置不同。

    1.基本类型

    Undefined,Null,Number,Boolean,String和Symbol(符号,es6新增)

    2.复杂类型

    Object(对象)

    在ECMAScript,所有值都可以用以上7种数据类型之一来表示。


    我们今天讲的是基本数据类型中的Number

    Number

    数值最常见的整数类型格式则为十进制,还可以设置八进制(零开头)、十六进制(0x开头)

    1.十进制

    十进制整数是最基本的数值字面量,直接写出即可:

    let Num = 22 // 10进制的22

    2.八进制

    前缀为0,然后接响应的八进制数字,一般是0~7。

    如果字面量中的数字超过了应有的范围,就会忽略前缀0,后面的数字序列就会被当成十进制数。

    1. let num1 = 026 // 8进制的22
    2. let num2 = 081 // 无效 变为10进制

    八进制转十进制的计算方式:

    百位数 × 8的2次方 + 十位数 × 8的1次方 + 个位数 × 8的0次方  =  十进制

    如:num1=026 ;转成十进制就是:0 × 8² + 2 × 8¹ + 6 × 8º = 22

    • 除 0 以外, 任何数的 0 次方,都等于 1
    • ECMAScript 2015 或 ES6 中的八进制值通过前缀 0o 来表示;严格模式下,前缀 0 会被视为语法错误,如果要表示 八进制值,应该使用前缀 0o

    3.十六进制

    前缀为0x(区分大小写),十六进制数字是0 ~ 9 和 A ~ F.

    ABCDEF表示的二进制数字分别是:10,11,12,13,14,15

    let Num1 = 0x1A //16进制的26

    十六进制转十进制的计算方式:

    百位数 × 16的2次方 + 十位数 × 16的1次方 + 个位数 × 16的0次方  =  十进制

    如:Num1=0x1A ;转成十进制就是:1 × 16¹ + 10 × 16º = 16 + 10= 26

    4.二进制

    数值只有0和1,es6中新增了二进制字面量的表示,以0b开头

    1. let num5 = 0b101 //2进制的5
    2. let num6 = 0b111001 //2进制的57

    二进制转十进制的计算方式:

    ......百位数 × 2的2次方 + 十位数 × 2的1次方 + 个位数 × 2的0次方  =  十进制

    如:num6=0b111001 ;转成十进制就是:57

    这里推荐一个进制转换器,可以转成你想要的进制

    进制转换器

  • 相关阅读:
    Ansible - templates实战
    山西电力市场日前价格预测【2023-09-25】
    C#获取指定软件安装路径
    [洛谷]P5788 【模板】单调栈(寻找当前位置右边第一个大于当前位置值的下标)
    Espresso Sequencer:去中心化Rollups
    IDEA创建MavenWeb工程并发布到tomcat
    制造业数字化转型峰会,云盒子带来先进制造业数据安全解决方案
    北大肖臻老师《区块链技术与应用》系列课程学习笔记[15]以太坊-交易树和收据树
    模拟实现库函数,strtsr,memmove.
    pytorh模型训练、测试
  • 原文地址:https://blog.csdn.net/qq_46580087/article/details/125905813