1

JS で 1 文字を表すには、"orを使用'します。つまり、長さ 1 の文字列を使用します。

ただし、JavaScript は UTF-16 エンコーディングを使用するため、文字も 16 ビットになります。

したがって、JS で可能な最小の表現可能なサイズは 2 バイトであると言っても過言ではありません。

または、欠落している単一バイト (8 ビット) を表すことができるデータ構造があるでしょうか。

編集:

ワード サイズ (通常は 4 バイト) のデータ型を使用することが常に最も効率的であることは理解していますが、JS の作成者が何かを含めることに気を配っていたのではないかと思いました。

Actionscript 3 も ECMAScript から派生しており、可変サイズのデータ​​型が含まれています。つまり、AS3 の整数は 1 から 4 バイトのストレージです。

注:複数のバイトをより大きなデータ型に収めるためのハックを実際に探しているわけではありません。

答えはおそらくノーだと思います。

4

3 に答える 3

1

ECMAScript ではなく、node.jsBufferとブラウザでUint8Array

var b = new UInt8Array(16); //Holds 16 bytes
于 2013-03-29T11:54:05.807 に答える
0

確かに、C スタイルの共用体からページを取得して、まさにそれを行う独自のデータ構造を作成できます。大きな int をビットマップとして使用します。

var memory = 0;

function setbyte(addr, value) {
    memory = memory | (value << addr);
}

function getbyte(addr) {
    return 0xFF & (memory>>addr)
}
于 2013-03-29T04:53:56.543 に答える
0

技術的には、8 つのブール値の配列を持つことができますが、配列自体を格納する際にかなりのオーバーヘッドが発生する可能性があります。

于 2013-03-29T04:47:47.090 に答える