ビッグエンディアンモードとリトルエンディアンモードの違いは何ですか?
違い: ビッグエンディアン モードでは、ビッグ エンディアン ストレージ モードとは逆に、ワード データの上位バイトが下位アドレスに格納され、ワード データの下位バイトが上位アドレスに格納されます。リトルエンディアン格納モードでは、下位アドレスにはワードデータの下位バイトが格納され、上位アドレスにはワードデータの上位バイトが格納されます。
#この記事の動作環境: Windows 7 システム、Dell G3 コンピューター。
関連する推奨事項: 「プログラミング入門 」
ビッグ エンディアン モードとリトル エンディアン モードの違い
C 言語には 8 ビットの char 型のほかに、16 ビットの short 型と 32 ビットの long 型があります (コンパイラによって異なります)。 -bit あるいは、32 ビットプロセッサの場合、レジスタ幅が 1 バイトよりも大きいため、複数のバイトをどのように配置するかという問題が発生するはずです。これは、ビッグエンディアン ストレージ モードとリトル エンディアン ストレージ モードにつながります。
ビッグ エンディアン モード:
ワード データの上位バイトは下位アドレスに格納され、ワード データの下位バイトは上位アドレスに格納されます。
リトルエンディアンモード:
ビッグエンディアンストレージモードとは対照的に、リトルエンディアンストレージモードでは、ワードデータの下位バイトが下位アドレスに格納されます。 、下位アドレスにワードデータの上位バイトが格納され、アドレスにはワードデータの上位バイトが格納されます。
たとえば、16 ビット幅の数値 0x1234 がリトルエンディアン モードの CPU メモリに格納される方法 (アドレス 0x4000 から始まると仮定):
メモリアドレス |
0x4000 |
0x4001 |
ストレージ コンテンツ |
0x34 |
0x12 |
そして大きなものエンディアンモード CPU メモリへの格納方法は次のとおりです。
メモリアドレス |
0x4000 | 0x4001 |
ストレージ コンテンツ |
0x12 |
0x34 |
ビッグエンディアン モードの CPU メモリの保存方法は次のとおりです:
# # メモリアドレス |
#0x4000 | 0x4001 | 0x4002 | 0x4003 |
ストレージ コンテンツ | 0x12 | 0x34 | 0x56 | 0x78 |
int main() { short int x; char x0,x1; x=0x1122; x0=*((char*)&x); //低地址单元 ,或者((char*)&x)[0]; x1=*((char*)&x + 1); //高地址单元,或者((char*)&x)[1]; printf("x0=%x\nx1=%x\n",x0,x1); }
PHP中文网にアクセスしてください! !
以上がビッグエンディアンモードとリトルエンディアンモードの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック







