首页  > 教育解读  > js中如何二进制

js中如何二进制

2025-05-01 01:02:28
雨夜思念
雨夜思念已认证

雨夜思念为您分享以下优质知识

在Javascript中处理二进制数据可以通过多种方式实现,以下是常见的方法及示例:

一、基础运算符

按位与(&)

仅当两个对应位都为1时结果为1,否则为0。 ```javascript

let a = 1010b; // 二进制1010

let b = 1100b; // 二进制1100

console.log(a & b); // 输出 1000b

```

按位或(|)

只要对应位中有一个为1,结果就为1。 ```javascript

console.log(a | b); // 输出 1110b

```

按位异或(^)

对应位不同则结果为1,相同为0。 ```javascript

console.log(a ^ b); // 输出 0110b

```

按位非(~)

取反操作,0变1,1变0。 ```javascript

console.log(~a); // 输出 -1011b(补码表示)

```

移位操作

- 左移(>

1); // 输出 101b

```

- 无符号右移(>

>

>

0):向右移动指定位数,左侧补0。 ```javascript

console.log(a >

>

>

1); // 输出 010b

```

二、二进制数据类型

Typed Arrays

通过`ArrayBuffer`和派生类型(如`Int8Array`、`Uint8Array`)操作二进制数据。 ```javascript

const buffer = new ArrayBuffer(8);

const int16Array = new Int16Array(buffer);

const uint8Array = new Uint8Array(buffer);

int16Array = 256; // 0x0000FF

uint8Array = 255; // 0xFF

console.log(int16Array); // 输出 [256, 0, 0, 0]

console.log(uint8Array); // 输出 [0, 0, 0, 255]

```

浮点数表示(IEEE 754)

Javascript使用64位浮点数表示,结构如下:

- 符号位(1位):

0为正,1为负

- 指数位(11位):表示2的幂次

- 尾数位(52位):有效数字

```javascript

const num = 1337;

console.log(num.toString(2)); // 输出 101001000111

console.log((num >

>

23) & 0xFF); // 提取尾数部分

```

三、进制转换

数值转二进制字符串

使用`toString(2)`方法。 ```javascript

const number = 1337;

console.log(number.toString(2)); // 输出 101001000111

```

二进制转数值

使用`parseInt(binaryString, 2)`或`parseFloat(binaryString, 2)`。 ```javascript

const binary = '101001000111';

console.log(parseInt(binary, 2)); // 输出 1337

console.log(parseFloat(binary, 2)); // 输出 1337

```

四、其他应用场景

字符编码:

通过`charCodeAt`获取字符的Unicode值(如`'A'.charCodeAt(0)`返回65)。- 文件操作:使用`FileReader`读取二进制文件内容。- 网络传输:通过`Blob`和`URL.createObjectURL`处理二进制数据。

以上方法覆盖了Javascript中二进制运算、数据存储及转换的核心内容,可根据具体需求选择适用