반응형
[C언어 소스] 실수 형식 메모리 구조 확인하기
#include <stdio.h>
//union은 내부 멤버 중에 제일 큰 멤버 크기의 메모리를 할당합니다.
typedef union
{
float value; //4바이트
struct
{
unsigned exponent:23; //23비트
unsigned mantissa:8; //8비트
unsigned sign:1; //1비트
}sv; //4바이트
unsigned iv;//4바이트
}test;
int main(void)
{
test t;
t.value = -13.625;
printf("부호부:%u\n",t.sv.sign); //%u는 부호없는 정수로 출력
printf("지수부:%#x\n",t.sv.mantissa); //%#x는 16진수로 출력하고 앞에 0x 표시
printf("가수부:%#x\n",t.sv.exponent);
printf("4바이트 16진수:%#x\n",t.iv);
return 0;
}
실행 결과
부호부:1
지수부:0x82
가수부:0x5a0000
4바이트 16진수:0xc15a0000
본문
반응형
'C언어 > 디딤돌 C언어 예제' 카테고리의 다른 글
[C언어 소스] 다양한 포멧을 지정하여 출력 (0) | 2016.11.23 |
---|---|
[C언어 소스] 이 책에서 사용하는 명명법 (0) | 2016.11.23 |
[C언어 소스] 실수 형식은 오차 범위를 갖는 근사값 (0) | 2016.11.23 |
[C언어 소스] 정수 값 잘림 현상 (0) | 2016.11.23 |
[C언어 소스] 오버플로우와 언더플로우 (0) | 2016.11.23 |