No.2ベストアンサー
- 回答日時:
めんどくさいけど、シフト演算とビット演算(マスク演算)で
地道に取り出しましょう。
で、基本的には 18bit なんて半端なサイズは使わない方がよいです。
通信プロトコルの処理などでどうしても必要な場合は、
早めにシフト演算とマスク演算でデータを切り出して
きりの良いサイズに直し
構造体などに変換してから処理することをお勧めします。
# C のビットフィールドは処理系依存が強いのでお勧めしません。
# 昔の通信用のミニコンだと、ビットフィールドをきめ細かく使える
# 言語がついてましたが、最近そういう言語はなさそう。
No.1
- 回答日時:
> ポインタで1バイトごとに読み込むことに成功しましたが
8bit読めてるので、
> 例えば18bitごとに読み込むには
これが12bitとか7bitごとに読み込みたいってなる可能性があるなら、1bit読み込む関数作っとくのが汎用性が高いかも。
C言語なら関数内の静的変数、C++ならクラス化してメンバ変数などで、
・次回読み込むbit位置
・読み込んでる8bitデータ
を保持しといて、
・読み込む位置が8bitを超えたら、1バイトごと読み込むのを実施
・8bitデータを読み込む位置分ビットシフトした最下位ビットを出力
だとか。
18bit読み込むには、上を18回、ビットシフトしながら、論理和演算しながら繰り返しとか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# [C言語] コメント文字列を無視して、数値データを読み込むプログラム部分について 5 2022/10/05 11:03
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- 日本語 本を読むことで得られるもの 「読む」の定義 5 2022/07/29 01:59
- 大学受験 英語の勉強で読み込みをしています。その読み込む前に別のプリントに構文をふって、文全体がどのような構造 4 2022/07/31 21:10
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- その他(IT・Webサービス) 知り合いがバンドをしており、CDを作成したものをもらいました。 そのジャケットの表紙にQRコードがあ 5 2022/10/04 22:08
- C言語・C++・C# C言語について教えて欲しいです。 ファイルの中身をコピーするプログラムを作ってます aというファイル 7 2022/11/03 19:21
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- C言語・C++・C# 至急お願いします。C言語で.imgのファイルを読み込んで1バイトづつ出力するプログラムを作りたいので 3 2023/01/16 22:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0xffffとは?
-
エクセルVBAのIf,Then 構...
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
CASLIIでかけ算
-
一般のソフトで画像を扱う場合...
-
C言語で128bitの2進数のビット...
-
C言語で行列の演算するには?
-
ブール代数で解き方がわかりません
-
ビット演算子
-
固定小数点表現で表せる整数の範囲
-
符号無し整数xを右にnビット回転
-
IEEE規格浮動小数点について
-
ものづくりに向いているプログ...
-
VisualStudioでC++からx64のア...
-
Windowsのシステムコール呼び出し
-
電化製品って何言語?
-
ライン数とステップ数の違いは?
-
PICのアセンブラからC言語へ変...
-
シーケンサのデータレジスタD...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAのIf,Then 構...
-
0xffffとは?
-
8ビットのデータの、先頭ビット...
-
ビットシフトってどんな時使うの?
-
一般のソフトで画像を扱う場合...
-
シーケンス制御についての質問...
-
文字参照は10進数と16進数では...
-
算術シフト演算が成り立つ理由...
-
03分22秒36のような時間の単位...
-
Python: 数値を反転させたい
-
上位ビットと下位ビットの入れかえ
-
verilog 符号付加減算(最上位...
-
命令について
-
剰余の法が大きい場合のアルゴ...
-
ビット列を表示するプログラム
-
アクセス(2003)のVBAでビット...
-
16ビットCPUで32ビットの計算方法
-
C言語で128bitの2進数のビット...
-
10進数(+-)→2進数への変換(2)
-
シーケンス制御について質問で...
おすすめ情報
なお18bitの内訳は、
2bit - 8bit - 4bit - 4bit
になっています