12

オブジェクトにバイトを書き込むメソッドを実装する必要がありostreamます。ostreamこのオブジェクトを と呼びましょうstrobj。また、1バイトのデータを格納するために使用されるビットバッファもあります。それを呼び出しましょう:

char &bitter;

私のヘッダーファイルには、これがあります:

void writeThisByte(int sumInt);

ostream指示によると、オブジェクトに渡される int の「下位バイト」 、つまりstrobj;を書き込む必要があります。

ただし、最下位バイトの正確な意味については混乱しています。

これは、あなたがチェックしていることを意味しますかsumInt == 1?もしそうなら、あなたはそれをこのostreamように書きますか?

strobj.write(&bitter, 1);

わからない :(

4

4 に答える 4

4
  • たとえば 507 などの 10 進数を見ると、最下位桁は 7 になります。これを 6 または 8 に変更すると、5 を変更するよりも全体の数値の変化がはるかに少なくなります。

  • たとえば2013 年 5 月 14 日などの日付を見ると、最も重要でない部分は、時系列の日付 (14) です。

  • unsigned 32 ビット int (4 バイト) を見ると、整数の値は(256^3)*b3 + (256^2)*b2 + 256*b1 + b04 バイトb0, b1, b2, b3であり、最下位バイトは byteb0です。

他の人が提案したようint sumIntに行うことで、最下位バイトを取得できます。char c = sumInt & 0xFF;

于 2013-05-14T05:32:28.663 に答える