2016-11-16 10 views
-1

私は[579, 578, 576, 574, 570, ...]のような値を持つデータ配列(バッファから分割)Int16Array[326784]を持っています。 [0, 0, ..., 0, 18756, 19779, 2, 0, 19541, 4, ...]Int16ArrayをArrayBufferに変換する理由Int16Arrayを変換すると結果は異なりますか?

私は変換を繰り返す場合:

私は結果がInt16Array[326784]ですが、値が異なるb = new Int16Array(a.buffer, 0, a.length)を実行

c = new Int16Array(b.buffer, 0, b.length)結果は bと同じです。

なぜ最初のコンバージョンが異なるのですか?

+0

です。より多くの研究が必要です。 – zerkms

+1

私はこの問題を解決し、後で答えを更新します。 – Fancyoung

答えて

1

TypedArrayを誤解しています。

質問では、a = Int16Array(bufferA, x, y);は、バッファのビューのみです。a.bufferbufferAです。

のでb = new Int16Array(a.buffer, 0, a.length)はあなたが右のそれをやっているに等しいb = new Int16Array(bufferA, 0, a.length)

関連する問題