-4

C関数に次のコードスニペットがあります

int i;
for (i = bytes; i>0; --i) {
    printf("byte: %d", data & 0xff);
    data>>= 8;
}

指定されたデータをビッグ エンディアンの方法でバイトに分割します (bytesは のバイト数data)。データ自体は、int または 100 バイト長の文字列など、何でもかまいません。ただし、dataでない場合int、コードは機能しません ( invalid operands to binary X)。

たとえば、次の数値を取得すると予想されるdataコンテンツを含む文字列であると仮定します。hello world

byte: 104
byte: 101
byte: 108
byte: 108
byte: 111
byte: 32
byte: 119
byte: 111
byte: 114
byte: 108
byte: 100

標準ライブラリ以外に追加のライブラリを使用せずに、純粋な C で wotk するための簡単なソリューションが必要です。

4

1 に答える 1