[임베디드 C] 부동소수점 & 실수 자료형

정재훈·2022년 4월 1일
0

임베디드 C언어

목록 보기
4/11
post-thumbnail

부동 소수점

부동 소수점 : 실수를 저장할 때, 아주 정확한 값을 저장하지 않고 근사치로 소수점을 저장한다. double과 float이 부동 소수점이다.

부동소수점의 저장 방식 IEEE 754이다.
IEEE 754의 부동소수점 표현은 부호를 표시하는 최상위 비트 , 지수 부분가수 부분으로 나뉜다.

더 높은 정밀도 있는 소수점을 저장하기 위해 사용됩니다.

실수 입출력

float(4B)

입출력 받을 때 자료형 %f을 사용하고, 소수점 7자리 정도 저장 가능하다. 처리속도가 빠르다.

#include <stdio.h>

int main()
{
	float a;

	scanf("%f", &a);

	printf("%f\n" , a);

	return 0;
}

double(8B)

입출력 받을 때 자료형 %lf을 사용하고, 소수점 15자리 정도 저장 가능하다. 처리속도가 느리다.

#include <stdio.h>

int main()
{
	double b;

	scanf("%lf", &b);

	printf("%lf\n", b);

	return 0;
}

소수점 3자리에서 반올림 하는 방법
printf("%.3lf",a);

고정길이 정수

#include <stdint.h>를 선언 후 사용가능하고, 메모리를 조정한 자료형을 사용할 수 있습니다. 가독성 증가, 시스템마다 동일한 사이즈의 변수를 사용하기 위해
자주 사용하는 변수
1. uint8_t : unsigned char
2. uint16_t : unsigned short
3. uint32_t : unsigned int

#include <stdio.h>
#include <stdint.h>

int main()
{
	uint32_t da;
	uint32_t db;

	scanf("%d",&da);
	scanf("%d",&db);

	uint32_t AB = da ^ 0xFF;
	uint32_t CD = da >> 8;
	uint32_t num = db ^ 0xFFFF;
	uint32_t EF = db >> 16;

	printf("%X %X %X %X",AB,CD,num,EF);




	return 0;
}
profile
여러 방향으로 접근하는 개발자

0개의 댓글