回答編集履歴

3

不明確な表現を修正

2016/12/17 10:43

投稿

ikedas
ikedas

スコア4337

test CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  1バイトずつ並べんだデータを最初から見ていったときに、大きい桁のほうのバイトが最初に現れるのがビッグエンディアン、小さい桁のほうのバイトが最初に現れるのがリトルエンディアンです。
7
7
 
8
- さて、ご質問のコードで`&n`は変数nのアドレスを表す値ですから、整数であり、複数のバイト (たとえば4バイトや8バイト) で表されます。そを`(char *)`にキャストすれば、1バイトのデータ型である`char`の配列として扱えますから、内部的にビッグエンディアンとリトルエンディアンのどちらの順序でバイトが並んでいるか見ることができます。
8
+ さて、ご質問のコードで`&n`は変数`n`へポインタです`n`は整数であり、複数のバイト (たとえば4バイトや8バイト) で表されます。そのポインタを`(char *)`にキャストすれば、1バイトのデータ型である`char`の配列として扱えますから、内部的にビッグエンディアンとリトルエンディアンのどちらの順序でバイトが並んでいるか見ることができます。
9
9
 
10
10
  整数`1`は16進数で0x00…01であり、複数バイトで表すと最上位桁のバイトは`00`、最下位桁バイトは`01`となりますから、内部的な並びで最初にくるバイトが00と01のどちらであるかで、[エンディアン](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3)がわかります。
11
11
 

2

微修正

2016/12/17 10:43

投稿

ikedas
ikedas

スコア4337

test CHANGED
@@ -2,9 +2,10 @@
2
2
 
3
3
  - `00 01 23 45`の順に並べる (ビッグエンディアンの並べ方)
4
4
  - `45 23 01 00`の順に並べる (リトルエンディアンの並べ方)
5
- 1バイトずつ並べんだデータを最初から見ていったときに、大きい桁のほうのバイトが最初に現れるのがビッグエンディアン、小さい桁のほうのバイトが最初に現れるのがリトルエンディアンです。
6
5
 
6
+ 1バイトずつ並べんだデータを最初から見ていったときに、大きい桁のほうのバイトが最初に現れるのがビッグエンディアン、小さい桁のほうのバイトが最初に現れるのがリトルエンディアンです。
7
+
7
- ご質問のコードで`&n`は変数nのアドレスを表す値ですから、整数であり、複数のバイト (たとえば4バイトや8バイト) で表されます。それを`(char *)`にキャストすれば、1バイトのデータ型である`char`の配列として扱えますから、内部的にビッグエンディアンとリトルエンディアンのどちらの順序でバイトが並んでいるか見ることができます。
8
+ さて、ご質問のコードで`&n`は変数nのアドレスを表す値ですから、整数であり、複数のバイト (たとえば4バイトや8バイト) で表されます。それを`(char *)`にキャストすれば、1バイトのデータ型である`char`の配列として扱えますから、内部的にビッグエンディアンとリトルエンディアンのどちらの順序でバイトが並んでいるか見ることができます。
8
9
 
9
10
  整数`1`は16進数で0x00…01であり、複数バイトで表すと最上位桁のバイトは`00`、最下位桁バイトは`01`となりますから、内部的な並びで最初にくるバイトが00と01のどちらであるかで、[エンディアン](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3)がわかります。
10
11
 

1

微修正

2016/12/17 10:29

投稿

ikedas
ikedas

スコア4337

test CHANGED
@@ -6,5 +6,5 @@
6
6
 
7
7
  ご質問のコードで`&n`は変数nのアドレスを表す値ですから、整数であり、複数のバイト (たとえば4バイトや8バイト) で表されます。それを`(char *)`にキャストすれば、1バイトのデータ型である`char`の配列として扱えますから、内部的にビッグエンディアンとリトルエンディアンのどちらの順序でバイトが並んでいるか見ることができます。
8
8
 
9
- 整数`1`を複バイト表すと0x00…01であり、最上位桁のバイトは`00`、最下位桁バイトは`01`となりますから、内部的な並びで最初にくるバイトが00と01のどちらであるかで、[エンディアン](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3)がわかります。
9
+ 整数`1`は16進数で0x00…01であり、複数バイトで表すと最上位桁のバイトは`00`、最下位桁バイトは`01`となりますから、内部的な並びで最初にくるバイトが00と01のどちらであるかで、[エンディアン](https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3)がわかります。
10
10