티스토리 뷰
이전 글에 이어서 부동 소수점 형식부터 설명하는 글이다.
부동 소수점 형식
소수점이 고정되어 있지 않고 움직이면서 수를 표현한다는 뜻에서 지어진 이름
소수점을 이동시켜 수를 표현하면 고정 시켰을 때보다 더 제한된 비트를 이용해서 훨씬 넓은 범위의 값을 표현
부동 소수점 형식은 정수뿐 아니라 유리수를 포함하는 실수 영역의 데이터를 다룬다. ex) 3.14 / 11.08
부동 소수점 형식은 두가지 단점때문에 정수 형식을 대체하지 못한다.
1. 소수점을 표현하기 위해 일부 비트를 사용(게다가 부호표현에 비트 사용)하기 때문에
같은 크기의 정수 계열 형식과 같은 크기의 수를 표현할 수 없다.
2. 산술 연산 과정이 정수 계열 형식보다 보잡해서 느리다.
이러한 이유 때문에 무조건 부동 소수점 형식을 사용하는 건 현명하지 못하다.
| 데이터 형식 | 설명 | 크기(바이트) |
| float |
단일 정밀도 부동 소수점 형식 7개의 자릿수만 다룰 수 있다 |
4(32비트) |
| double |
복수 정밀도 부동 소수점 형식 15~16개의 자릿수를 다룰 수 있다 |
8(64비트) |
부동 소수점 형식은 위 표와 같이 float과 double 두가지가 있다.
표를 보면 "단일 정밀도"와 "복수 정밀도"라는 말이 보인다. 이 말은 부동 소수점 형식의 특징이자 한계이다.
float 형식은 수를 표현할 때 1비트를 부호 전용으로 사용하고, 가수부 23비트를 수를 표현하는데 사용.
그리고 나머지 지수부 8비트를 소수점의 위치를 나타내기 위해 사용한다.

float은 4바이트만 가지고 수를 표현하지만 굉장히 넓은 범위의 수(10의38승)를 다룬다.
하지만 유효숫자는 딱 7자리밖에 되질 않습니다. 무려 10의 38승이나 되는 수를 다루는데 유효숫자는 7밖에 없으니
7자리 이상의 수는"대략적으로" 표현하는 것입니다. 그래서 float이 한정된 정밀도, 즉 단일 정밀도라 합니다.
double은 float보다 두 배 큰 8바이트이기 때문에 보다 더 정밀하다.
그래서 부동 소수점 형식을 사용할 때는 float보다는 double을 사용하는게 좋다.
왜냐하면 float에 비해 데이터의 손실이 적기 때문입니다. double을 사용하고도 데이터의 손실이 발생한다면
decimal 형식을 사용하면 됩니다. decimal 형식은 이 글에서 다루지 않는다.
문자 형식과 문자열 형식
char 형식은 개별 문자를 표현하기 위해, string 형식은 문자열을 표현하기 위해 사용한다.
char a = '안';
char b = '녕';
string c = "안녕";
char 형식은 작은 따옴표, string 형식은 큰 따옴표를 사용해서 데이터를 대입한다.
논리 형식
논리 형식이 다루는 데이터는 "참(true)" 과 "거짓(false)" 딱 두가지.
조건문에서 많이 사용하며 프로그래밍에서 가장 많이 사용되는 데이터 형식 중 하나
'C#' 카테고리의 다른 글
| 3. 메소드란? (0) | 2020.01.28 |
|---|---|
| 2. 데이터의 종류(4) - object, 상수, 열거, var (0) | 2020.01.25 |
| 2. 데이터의 종류(2) - 정수형 데이터 (0) | 2020.01.25 |
| 2. 데이터의 종류(1) - 변수란?, 값, 참조 (0) | 2020.01.22 |
| 1. C#의 첫걸음 (0) | 2020.01.20 |
- Total
- Today
- Yesterday
- 생활코딩#동영상을#글로#html
- 생활코딩#MySQL
- 문자열
- PHP&MySQL
- php
- GRID
- 동영상을
- 기초
- Link
- 선택자
- visual studio code
- 조건문
- 네트워크 프로그래밍
- C언어
- 객체
- 알고리즘
- 차이점
- 정렬
- 관계형데이터베이스
- css
- inline
- HTML
- javascript
- 글로
- 언리얼엔진
- 안드로이드 스튜디오
- TAG
- 언리얼엔진4
- 변수
- 생활코딩
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
