본문으로 바로가기

C언어 4일차

category 스마트팩토리/C언어 2020. 9. 25. 15:53

실수형

IEEE 754는 IEEE에서 개발한 컴퓨터에서 부동소수점을 표현하는 가장 널리 쓰이는 표준이다.

정수형의 범위를 넘는 큰 수와 부동 소수를 다루기 위해 실수형 float, double형이 존재한다.

IEEE 754의 부동소수점 표현은 크게 세 부분으로 구성되는데, 최상위 비트는 부호를 표시하는 데 사용되며, 지수 부분(exponent)과 가수 부분(fraction/mantissa)이 있다.

 

 

단정밀도 방식 구조(ex float형)

배정밀도 방식 구조(ex double형)

소수점 밑으로 10진수를 2진수로 만드는 법

정수는 원래 하던것처럼 한다.

그리고 소수점 이하는 밑에 그림과 같이 2를 곱하면서 만들어 낸다.

그리고 2를 곱했을때 0.0이 나오면 끝이 난다.

 

---------------------------------------------------------------------------------------------------------------------------------

 

메모리에 들어가는 모습을 보여준다.

처음에는 iNum에 쓰레기깂이 들어있다.

비주얼 스튜디오에서는 쓰레기값을 보여줄때 c로 표현한다.

첫 화면에서 cc cc cc cc가 들어가 있는것을 보여준다.

두번째 화면에서는 00 00 c4 40이 들어간다. 원래는 40 c4 00 00인데 거꿀러 들어갔다.

6.1을 16진수로만든 40 c3 33 33이 나온다.

이것을 6.125가 들어가 있는 메모리 영역 뒤집어서 넣게 되면 밑에 그림과 같이 나온다.

예제이다.

상수형

상수는 크게 이름이 있는 상수와 이름이 없는 상수로 나눌 수 있다.

자료형에 따라서도 나눌 수 있다.

상수란 변경 불가능한 데이터를 의미한다.

 

C언어에서는 정수 상수는 10진수, 8진수, 16진수 형태로 표현할 수 있다.

1. 정수 상수가 0x나 0X로 시작하는 경우에는 16진수로 해석된다. 

2. 0으로 시작하면 8진수로 해석한다

3. 그렇지 않은 경우, 10진수로 해석한다.

첫번째 단락에 있는 코드는 67을 10진수 8진수 16진수로 나타낸다.

두번째 단락에 있는 코드는 67의 크기를 나타낸다. (size of)

#include<stdio.h>

int main()
{
	int num = 67;
	printf("Decimal : %d, Octal : %#o, Hexa decimal : %#x\n", num, num, num);



	printf("The size of int 67 is %3d\n", sizeof(67));
	printf("The size of long 67L is %3d\n", sizeof(67, 0));

	return 0;
}

 

위에 자료형의 내용을 크기를 출력해보았다.

#include<stdio.h>

int main()
{
	printf("%d\n",sizeof(char));
	printf("%d\n", sizeof(short));
	printf("%d\n", sizeof(int));
	printf("%d\n", sizeof(long));
	printf("%d\n", sizeof(float));
	printf("%d\n", sizeof(double));
	printf("%d\n", sizeof(long double));

	return 0;
}

 

문자 상수

문자 상수는 문자 한 개 이상을 작은따음표 (')로 둘러 싸서 표현한다.

소스에서 직접입력이 불가능하거나 불편한 코드값이나 광역 문자를 지원하기 위한 특별한 방법이 제공되는데 이것을 확장열이라고 한다.

확장열은 특정 제어문자나 특순문자를 표현할 수 있게 해준다. 

하나의 문자 상수로, 반드시 백슬레쉬('\')와 함께 작은따음표로 묶어서 하나의 문자로 표시해야 한다.

 

 

'스마트팩토리 > C언어' 카테고리의 다른 글

C언어 6일차  (0) 2020.10.06
C언어 5일차  (0) 2020.10.05
C언어 3일차  (0) 2020.09.24
C언어 2일차  (0) 2020.09.23
C언어 1일차  (0) 2020.09.22