ヘルプ:何を意味するこれはCコードは

A

alvarorahul

Guest
内容は
、 次のコードでは
、 コロンの意義は体ABCの

int bit1:1;
int bit3:4;
int bit4:4;
)xyzは(1,2,2);

main()の

/ /コード


 
体ABCの

int bit1:1;
int bit3:4;
int bit4:4;
)xyzは(1,2,2);

これらのビットフィールドが詰まっている。番号の後にコロンが長さです。コンパイラは
、 整数可能¥であれば
、 これらのパックされます。もしメモリのプレミアムは通常
、 この場合のみ必要です。一般的に
、 代わりのint符号なしのintを使用するためのビットが追加され
、 すぐに最適です。

そのため、xyzの変数では、
xyz.bit1 = 1であり、1ビット長
xyz.bit3 = 2、4ビットの長さ
xyz.bit4 = 2、4ビットの長さ
上記のすべての値が自動的にint型に変換されます。
私bit2に起こったのか分からない。しかし、7ビットの変数にメモリ使用量を増やすことなく設定されていることができます。

注意して使用してビットフィールドとしては非常にプラットフォーム(Int16の対1in32)の間で移植されていません。

ホープ
、 このことができます

 
newelltech書き込み:私bit2に起こったのか分からない。
しかし、7ビットの変数にメモリ使用量を増やすことなく設定されていることができます。

 
alvarorahul書き込み:newelltech書き込み:私bit2に起こったのか分からない。
しかし、7ビットの変数にメモリ使用量を増やすことなく設定されていることができます。

 
'の定義を'intプラットフォーム、それはあなたのコンパイラがintのサイズを自由に設定しているので使用しているか
、 コンパイラに依存するつまり
、 依存しています。
私の説明は
、 整数、16ビットされ、bit2 7ビットの長を追加すると仮定され、全体のビット16になるに使用

bit1長さ= 1
bit2長= 7
bit3長= 4
bit4長= 4
----------------
合計= 16ビット= 1つの整数

の場合よりあなたのコンパイラの可能¥性よりも、PC用のコードを書いている32ビットの整数があります。いくつかのマイクロプロセッサのコンパイラは16ビットの整数があります。私が今までは
、 ビットフィールドをサポートする8ビットの'int'のでは、Cコンパイラを使用していない。

このそれを明らかにするか?

 

Welcome to EDABoard.com

Sponsor

Back
Top