回答編集履歴

1

回答に追記

2021/01/21 04:42

投稿

y_waiwai
y_waiwai

スコア88024

test CHANGED
@@ -1 +1,29 @@
1
1
  そもそも、x86(やx64)はリトルエンディアンです
2
+
3
+
4
+
5
+ ---
6
+
7
+ ネットワークオーダはビッグエンディアンです。
8
+
9
+
10
+
11
+ ホストがビッグエンディアンの場合
12
+
13
+ htonl  なにもしない
14
+
15
+ ntohl なにもしない
16
+
17
+ なので、htonl(x) ==ntohl(x) は成立する
18
+
19
+
20
+
21
+ ホストがリトルエンディアンの場合
22
+
23
+ htonl リトル>ビッグの変換
24
+
25
+ ntohl ビッグ>リトルの変換、がかかる
26
+
27
+ はやいはなし、どっちの関数もエンディアン変換のために同じ操作をしてしまっている、
28
+
29
+ ため、htonl(x) ==ntohl(x) は成立してしまいますね