어떻게 함께 작업에 사용할 부호없는 32 비트 정수를 얻을 수 있나요?

JA :

이 같은 배열의 형태로 존재 Uint32Array (서명 된 버전이 Int32Array ),하지만 난 당신이이 값에 액세스 일단 정상적인 JS 번호가됩니다 들었다.

let number = (new Unit32Array(1)).fill(1)[0];

변수 번호가 이중으로 구현하고 비트 연산을 일단은 32 비트 정수로 변환되는 경우.

당신이 실제로 즉, 당신이 그것을 액세스 일단 배열에 서명되지 않은 표현을 사용할 수 있는지 내가 Unit32Array의 목적을 얻을하지 않습니다, 그것은 일반 번호로 튀어?

function analyze () {
  // let test = 2147483647; // max 32 bit integer
  // let test = -2147483647; // min 32 bit integer
  for(let place = 0; place < 32; place++){
    let power2 = Math.pow(2, place);
    let bit = test & power2;
    console.log(place, bit)
  }
}
analyze();

/*
2^0 is 1 is 0x1
2^1 is 2
2^2 is 4
2^3 is 8
.
.

2^31 is 2147483648
2^32 is 4294967296
*/
밥 :

대부분의 사람들은 자바 스크립트를 비트 단위 작업으로 잘 작동 인식하지 못합니다. 당신은 그것을 페어링해야 배열 버퍼 그러나.

let buffer = new ArrayBuffer(16); // create a buffer of length 16

let view = new Uint32Array(buffer); // treat buffer as a sequence of 32-bit integers

추천

출처http://43.154.161.224:23101/article/api/json?id=17147&siteId=1