2011-07-08 17 views
1

すでにホストバイトオーダーの整数にntohl()を使用すると問題が起こりますか?ntohl()が既にホストバイトオーダーの整数で呼び出された場合はどうなりますか?

もしそうでなければ、ntohl()関数はその引数がすでにホストバイトオーダーであることをどのように知っていますか?

+0

数字に-1を掛けた場合、何が起こりますか? –

+0

@hexa: 'ntohl'がorder-2であるという要件はありません。ホストエンディアンが奇妙な場合は、混乱を招く可能性があります。 –

+0

@R ..それは本当に奇妙でなければなりません。あなたはそのようなプラットフォーム/アーチを知っていますか? –

答えて

3

質問には意味がありません。 ntohlの場合、高次または低次は何もありません。

  • システムのエンディアンは、ネットワーク順序と同じである場合、それはそうでなければ、それはそれは知りません
+0

ええ、私はおかげで何を尋ねることを意味しました:) 申し訳ありませんがsttupid質問です。 – vindyz

1

の周りのものを交換します何も

  • を行いません。それは、ネットワークバイトオーダーで整数を与えられ、必要に応じてそれをホストに変換すると仮定します。つまりそれだけです。

  • 0

    "ntohl()を整数で2回呼び出すと問題が起こるのですか?"

    答えは「はい」です。

    これは、関数の名前について考えると明らかです。これは、 "Network to Host Long"という名前です。この関数を呼び出した後、整数はネットワークバイトオーダーではなくホストバイトオーダーになりました。

    +0

    もちろん、ホストのバイトオーダーはネットワークバイトオーダーと同じでもかまいません。その場合は... – Roddy

    +0

    @Roddy:この場合、関数を何も呼び出す必要はありません。ただし、コードはもう移植できません。 –

    関連する問題