endianness

    0

    3答えて

    これには単純な答えがあると確信していますが、ここで私の頭を叩いています。 私のSwift 2コード(Xcode 7.2.1)では、ローカルマシンのバイトオーダーを取得するのにCFByteOrderGetCurrent()を使用しています。 私は関数の結果を評価する方法を見つけ出すことはできません - 「が」以下で文が でコンパイルに失敗した「という表現のタイプは、より多くの文脈のないあいまいです」

    0

    1答えて

    私が使用しているプログラミング計算機では、「バイトフリップ」ボタンを押したときに、16進値0x803Fがに変わります。しかし、私は0x803Fが0xF308になることを期待していました。つまり、単純な順序の逆転です。なぜバイトフリップは順序の単純な逆転を伴わないのですか?

    3

    1答えて

    htons()は、ホストバイトオーダーをネットワークバイトオーダーに変換します。 ネットワークバイトオーダーはビッグエンディアンで、ホストバイトオーダーはリトルエンディアンまたはビッグエンディアンのいずれかです。 リトルエンディアンシステムでhtons()は、マルチバイト変数の順序をビッグエンディアンに変換します。 htons()の場合、ホストのバイトオーダーもBig-Endianの場合はどうなり

    5

    1答えて

    つまり、L1、L2、L3などのキャッシュは、常にCPUのエンディアンを反映していますか? キャッシュにデータを保存するのは、ある程度の意味がありますか特定のエンディアン? 一般設計決定はありますか?

    5

    2答えて

    だから私は、アーキテクチャのエンディアンがどのように見つかったのかといういくつかの例を見ました。 intデータ型を指す整数ポインタがあるとします。そして、int値が0x010A0B12だとしましょう。リトルエンディアンアーキテクチャでは、最下位バイト、すなわち12が最下位メモリアドレスに格納されます。したがって、4バイト整数の最下位バイトは12になります。 今すぐチェックしてください。 charポ

    5

    1答えて

    貧弱な言い回しを言い訳をしていますが、私はそれを説明する良い方法を見つけることができませんでした。 私の理解では、C#はWORA言語です.MSILはアプリケーションが実際に実行されるまでコンパイルされないため、1台のマシンに書き込んで別のマシンに展開できます。 それでは、なぜそれがBitConverter.IsLittleEndianがlike so定義されていることである。 #if BIGEND

    10

    2答えて

    私はsource-codeを読んでいます。これはzipファイルをダウンロードし、データをnumpy配列に読み込みます。コードのMacOSとLinux上で動作すると仮定し、ここで私が見る抜粋です。 def _read32(bytestream): dt = numpy.dtype(numpy.uint32).newbyteorder('>') return numpy.fromb

    1

    1答えて

    私はmodbus TCP上で通信するCプログラムを書いています。 modbusクライアントに浮動小数点3.14を送り、16進表現は0x4048F5C3です。私のCコードは正しくModbusパケットを受信して​​います。今度はをfloatとして再解析する必要がありますので、値3.14を得ることができます。 { 0xC3, 0xF5, 0x48, 0x40 }; その後、すべてが正常に動作します:

    1

    2答えて

    ポータブルな方法で整数をリトルエンディアンに/からリトルエンディアンに変換するにはどうすればよいのでしょうか。 これにはライブラリがありますか? htonl and ntohlを使用して、ビッグエンディアンを(リミテッドから)リトルエンディアンに変換できますが、効率的ではありません。

    0

    3答えて

    私はC++のバイナリファイルから長い(符号付き、4バイト)を読み込もうとしています。 私の主な関心事は次のとおりです。移植性(ロングは異なるプラットフォームで異なるプラットフォーム)、バイナリファイルw/std :: ifstreamから読み込むと、バイトオーダーが逆になります(マシンのエンディアンに)。 unsigned intのようなデータ型については、単純にビット単位の演算子を使用して、各バ