1

値を4バイトの符号なし整数(リトルエンディアン形式)として出力しようとしていますが、何かについて混乱しています。

この形式で数値1を出力したい場合、次のように表示されますか?

00000001 00000000 00000000 00000000

また

10000000 00000000 00000000 00000000

同様に、数値256を出力したい場合は、次の形式になります。

11111111 00000001 00000000 00000000

明確にする必要があります。私はインターネット上のさまざまな場所からいくつかの矛盾するものを読みました。

4

2 に答える 2

1

通常、メモリは個別のバイトのシーケンスとして表されるため、どのビットが互いに隣接しているかについて話すことは意味がありません。表示フォーマットの問題です。とはいえ、右側にLSBを表示するのが伝統的であるため、この例では次のようになります。

00000001 00000000 00000000 00000000

バイナリを調べるときに通常使用する16進数では、次のようになります。

01 00 00 00

また、2番目の例では、誤って256ではなく511を表現しました。256の正しいビット表現は次のとおりです。

00000000 00000001 00000000 00000000
于 2012-08-01T03:53:14.400 に答える
1

エンディアンは、バイト自体のビットの順序ではなく、マルチバイトワードのバイトの順序に影響します。つまり、1は

00000001 00000000 00000000 00000000

そして256は

00000000 00000001 00000000 00000000
于 2012-08-01T03:53:34.600 に答える