📜  js 十六进制 - Javascript (1)

📅  最后修改于: 2023-12-03 14:43:30.986000             🧑  作者: Mango

JS 十六进制 - Javascript

在Javascript中,十六进制是一种常见的数据表示方法,如果你处理颜色、位运算或者其他需要使用十六进制的场合,那么了解Javascript中的十六进制是非常有必要的。

转换为十六进制

在Javascript中,可以使用 toString() 方法将数值转换为十六进制格式:

let num = 255;
console.log(num.toString(16)); // 输出 'ff'

可以看到,使用 toString() 方法将十进制的 255 转换为了十六进制的 'ff'。在 toString() 方法中,参数 16 表示输出的是一个十六进制数。

需要注意的是,toString() 方法返回的是字符串类型的结果。

转换为十进制

如果需要将一个十六进制的字符串转换为十进制的数值,可以使用 parseInt() 方法:

let hexString = 'ff';
console.log(parseInt(hexString, 16)); // 输出 255

parseInt() 方法中,第二个参数 16 表示输入的字符串是一个十六进制数。

需要注意的是,parseInt() 方法返回的是数值类型的结果。

运算符

在Javascript中,也可以使用位运算符来完成一些十六进制的操作。

首先,将十六进制的字符串转换为数值,然后进行位运算。最后,使用 toString() 方法将结果转换为十六进制的字符串。

下面是一些常用的位运算符和十六进制的示例:

按位与(&)
let hex1 = 'f0';
let hex2 = '0f';
let result = (parseInt(hex1, 16) & parseInt(hex2, 16)).toString(16);
console.log(result); // 输出 '00'

在示例中,使用了按位与运算符 &f00f 两个十六进制数进行操作,得到了 00

按位或(|)
let hex1 = 'f0';
let hex2 = '0f';
let result = (parseInt(hex1, 16) | parseInt(hex2, 16)).toString(16);
console.log(result); // 输出 'ff'

在示例中,使用了按位或运算符 |f00f 两个十六进制数进行操作,得到了 ff

按位异或(^)
let hex1 = 'f0';
let hex2 = '0f';
let result = (parseInt(hex1, 16) ^ parseInt(hex2, 16)).toString(16);
console.log(result); // 输出 'ff'

在示例中,使用了按位异或运算符 ^f00f 两个十六进制数进行操作,得到了 ff

取反(~)
let hex = 'f0';
let result = (~parseInt(hex, 16)).toString(16);
console.log(result); // 输出 'ffffff0f'

在示例中,使用了取反运算符 ~f0 进行操作,得到了 ffffff0f

需要注意的是,取反运算符 ~ 返回的是一个负数,而不是一个正数。因此需要使用 toString() 方法将结果转换成十六进制的字符串格式。

结论

通过上面的介绍可以看到,在Javascript中使用十六进制是非常方便的。而且,可以使用转换方法、位运算符等操作来完成各种十六进制的需求。