#define CHAR_BIT 8
union
{
float input; // assumes sizeof(float) == sizeof(int)
int output;
} data;
data.input = 122.5;
bitset<sizeof(float) * CHAR_BIT> bits(data.output);
int ieee[32];
for(int i = 0 ; i < 32 ; ++i){
ieee[i] = (int)bits[i];
}
私の意図は、ieee
配列をfloatのIEEE表現で埋めることであり、完了しました(別の質問のコードを使用しました)が、理解できないことが2つあります。
#define CHAR_BIT 8
1)正しい出力に使用する必要があるのはなぜですか?
ieee
2)配列に正しいビット値を入力するにはどうすればよいですか?