あまり使う機会はないが覚えておくと役に立つかも。
float型などのbit表現をprintfで確認したい時は、一度unionでキャストしてから表示する。
#include <stdio.h>
#include <stdint.h>
int
main()
{
printf("%08x\n", ((union {float f; uint32_t ui;})((float)1.00)).ui);
}
出力は「3f800000」となり、IEEE754に従っていることが確認できる。
Go to list of users who liked
More than 5 years have passed since last update.
あまり使う機会はないが覚えておくと役に立つかも。
float型などのbit表現をprintfで確認したい時は、一度unionでキャストしてから表示する。
#include <stdio.h>
#include <stdint.h>
int
main()
{
printf("%08x\n", ((union {float f; uint32_t ui;})((float)1.00)).ui);
}
出力は「3f800000」となり、IEEE754に従っていることが確認できる。
Register as a new user and use Qiita more conveniently
Go to list of users who liked