Hatena::ブログ(Diary)

Islands in the byte stream

2012-05-20

Uint8ArrayとUint8ClampedArrayの違い

W3Cによれば、この違いは値がclampされるかどうからしい。clampというのは、範囲の指定されたintにその範囲を超えた値を代入したとき、通常であればmoduloで処理するところを、範囲の上限の値を代わりに代入する、というものだ。

// NOTE: node.js doesn't support Uint8ClampedArray

"use strict";
// normal typed array
var a = new Uint8Array(1);
a[0] = 1000;
console.log(a[0]); // 1000 % 0xFF => 232

// clamped typed array
var a = new Uint8ClampedArray(1);
a[0] = 1000;
console.log(a[0]); // uint8 max => 255

どういういきさつで導入されたのかわからないが、不要に複雑にしすぎている気がする。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gfx/20120520/1337512218