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

前言

在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,后面的数字序列就会被当成十进制数。

let num1 = 026 // 8进制的22
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开头

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

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

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

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

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

进制转换器

猜你喜欢

转载自blog.csdn.net/qq_46580087/article/details/125905813