일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Android
- sensor
- mfc
- wpf
- Unity
- Overloading
- Class
- APP
- aduino
- Contour
- Pointer
- public
- Encapusulation
- SERIAL
- Read
- memory
- inheritance
- flutter
- Barcode
- parameter
- java
- preprocessing
- Binary
- compare
- stream
- digitalRead
- UNO
- atmega328
- file access
- length
- Today
- Total
폴크(FOLC)
C 기본 타입 과 변환 본문
# 기본 타입
# 기본적으로 미리 정의 해놓고 제공하는 타입
> 문자형, 정수형, 실수형
# 문자형 타입
> 부호가 있다. 소수 부분을 제외한 수 ( default : signed 키워드는 생략 )
> unsigned 키워드를 앞에 붙이면 부호가 없어지면서 0 부터 2배 큰 양의 문자형이 된다.
> 문자(아스키코드 - ASCII code) 하나를 표현
- 영문 대/소문자를 사용하는 비트 인코딩 방법 ( 128개 문자 표현 가능 )
> 범위
- (signed) char 1 바이트 2^7 ~ 2^-7
- unsigned char 2 바이트 0 ~ 2^-8
# 정수형 타입
> 부호가 있다. 소수 부분을 제외한 수 ( default : signed 키워드는 생략 )
> unsigned 키워드를 앞에 붙이면 부호가 없어지면서 0 부터 2배 큰 양의 정수형이 된다.
> 범위
- (signed) short 2 바이트 - 32,768 ~ 32,767
- unsigned short 2 바이트 - 0 ~ 65,535
- (signed) int 4 바이트 - 2,147,483,648 ~ 2,147,483,647
- unsigned int 4 바이트 - 0 ~ 4,294,967,296
- (signed) long 4 바이트 - 2,147,483,648 ~ 2,147,483,647
- unsigned long 4 바이트 - 0 ~ 4,294,967,296
# 실수형 타입
> 부호가 있다. 소수 부분을 포함한 수 ( default : signed 키워드는 생략 )
> unsigned 키워드를 앞에 붙이면 부호가 없어지면서 0 부터 2배 큰 양의 실수형이 된다.
> 오차를 포함하는 한계가 있다. ( 데이터량이 너무 큼 )
> 범위
- float 4 바이트 (3.4 X 10^-38) ~ (3.4 X 10^38)
: 실수 : 8 비트, 가수 : 23 비트, 소수 6번째 자리까지는 유효한 데이터를 갖는다.
- double 8 바이트 (1.7 X 10^-308) ~ (1.7 X 10^308)
: 실수 : 11 비트, 가수 : 52 비트, 소수 15번째 자리까지는 유효한 데이터를 갖는다.
# bool 형 타입
> 2가지 값만 가질수 있다. true(1), false(0)
# 타입변환
# 자료형을 다른 형태의 자료형으로 변경하는 행위
> 작은 범위의 자료형을 큰 범위의 자료형으로 변경하는 작업은 문제가 없음.
> 큰 범위의 자료형을 작은 범위의 자료형으로 변경하는 작업은 문제가 있음.
- 데이터 손실 발생 ( 오류를 발생시키는 원인 )
# 타입 변환 방식
> 자동 타입 변환
- 컴파일러가 알아서 진행하는 방식 ( 우측 -> 좌측 )
- 산술 연산의 경우에는 큰 범위의 자료형으로 형변환 후 연산 진행
> 강제 타입 변환
- 타입 캐스트 연산자를 이용하는 방식 ( 우측 -> 좌측 )
- " ( ) " 괄호를 이용
- 산술 연산의 경우에는 큰 범위의 자료형으로 형변환 후 연산 진행