Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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でゴリゴリ画像処理をしたい局面なんかで使われているみたいです。