• ベストアンサー

0.5バイトづつ読み込みたいのですが。

ファイルをオープンして、 unsigned charで読み込むと1バイト読み込むと思うのですが、 0.5バイトづつ読み込みたいのですがどうすればいいでしょうか? 0.5バイトづつとは、 1バイトの上位桁?(/16)と下位桁?(%16)のことです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • YanYas
  • ベストアンサー率34% (26/75)
回答No.2

#1の意見と同じです。 とりあえず1バイト読み込んで、上位4ビットと下位4ビットに分ければよいと思います。 例) ----------------------------------------- main() { unsigned char moto,ue,sita; moto = 0x7F; /* 論理和をとり下位4ビットを取り出します */ sita = moto & 0x0F; /* 4bit 右シフトさせて上位4ビットを取り出します */ ue = moto >> 4; printf( "moto:0x%0x ue:0x%x sita:0x%x\n",moto,ue,sita ); } -----------------------------------------

thulala
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • yotta
  • ベストアンサー率32% (26/79)
回答No.1

最小単位が1バイト(8ビット)なので1バイト読み込んで4ビットずつに分けるしか方法はありません

thulala
質問者

お礼

ありがとうございました。

関連するQ&A