ビットフィールドを使用して、浮動小数点ライブラリに簡単にアクセスできます。浮動小数点ライブラリを持たないマイクロコントローラを作成しようとしています。Cでビットフィールドを使用する正しい方法は何ですか?
問題は、私がビットフィールドで動作させるように見えないことです。見てみましょう:
typedef struct
{
union{
unsigned long mantissa: 23;
unsigned long exponent: 8;
unsigned long sign: 1;
float all;
};
}_float __attribute__((__packed__));
問題は、私がアクセスしたり、何かを変更しようとすると、それは、それぞれ端から1,8,23ビットとしてビットフィールドを考慮することです。それは終わりから23ビットでなければなりませんが、その後は8ビット、そして最後のビットです。私がビットフィールドの使用を完全に誤解していない限り。私はを使用してをパックすると問題を解決すると思ったが、見たことがない。
本当にありがとうございます。私はこのサイトに何度もグーグル・グーグルでリードしているので、私は高い期待を持っています。
ビットフィールドを使用する正しい方法は、ビットフィールドを使用しないことです。 –