float (単精度浮動小数点数)の内部表現(共用体を使う)

共用体を使えばもっと簡単に内部表現が確認できるのであった。

#include <iostream>
using namespace std;

int main(void) {
    union float_internal {
        float f;
        uint32_t i32;
        uint8_t i8[4];
    };

    float_internal a;
    a.f = -123.456;
    printf("0x%X\n", a.i32);
    printf("0x%X, 0x%X, 0x%X, 0x%X\n", a.i8[0], a.i8[1], a.i8[2], a.i8[3]);    

    return 0;
}

f:id:ti-nspire:20201106084807p:plain