Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

javascriptで8bit、16bitなどの値を配列経由で使う事ができる。

JavaScriptの変数は日々世界のハッカー軍団によって性能改善が図られてはいます。
が……場合によっては、容量扱いがタイトな場合もありますよね。
WebCacheに入れたい場合とか。*1
そういう場合、ビット数を指定した値の扱いが可能です。
種類としては正負のInt8、Int16、Int32、Double64があります。

実際のところ

まずは符号つきInt8。
所謂短縮記法はないので、newで指定して起こします。
0xfeは符号付きなら-2ですね。

var hoge = new Int8Array(16)
hoge[2] = 0xfe
hoge
/*
Uint8Array {
  '0': 0,
  '1': 0,
  '2': -2,
  '3': 0,
  // (ry
  '15': 0 }
*/

符号ナシ版も。

var hoge = new Uint8Array(16)
hoge[2] = 0xfe
hoge
/*
Uint8Array {
  '0': 0,
  '1': 0,
  '2': 254,
  '3': 0,
  // (ry
  '15': 0 }
*/

*1:実際、Canvasでゴリゴリ画像処理をしたい局面なんかで使われているみたいです。