본문 바로가기

BackEnd/C

적절한 자료형의 선택기준

반응형


1. 정수 자료형 선택 기준


결론적으로 정수 자료형은 int를 선택하라.


이러한 선택에 앞서 배경에 대해 먼저 알아보자


1) N비트 컴퓨터란?N비트 시스템이란?


1. 시스템이 한번에 연산할 수 있는 데이터의 크기가 N비트 라는것이다.


2. 시스템이 한번에 이동시킬 수 있는 데이터의 크기도 N비트를 의미한다.


이동이라 하는것은 CPU와 메모리의 사이 또는 CPU내에서의 데이타 이동을 말한다.



2) N비트 컴퓨터의 장점


보편화된 CPU 대부분이 RISK-CPU인데 이것은 명령어가 단순하게 되어있다.


구조가 단순하기 때문에 원 클럭에 3개나 4개의 명령어, 


N비트 데이터를 동시에 처리할 수가 있다.



3) N비트 컴퓨터의 단점


하지만 실제로 하드웨어를 기준으로 32비트 시스템에서는 16비트 데이터 연산을 할수 없다.


오직 32비트 컴퓨터에서는 32비트 연산만 할 수 있다.


하지만 소프트웨어단에서 시퓨의 연산을 위해 16비트를 32비트로 자동 변환해준다. 이것


을 Integer Promotion이라고 하는데, 이러한 자동변환을 해주기 때문에 32비트 시스템


에서도 16비트 데이터 연산을 할수가 있는것이다.


하지만 이렇게 연산 과정에서 변환때문에 속도가 떨어지고, 32비트로 바꾸면서 바뀌어진 


이터를 어딘가 저장해야한다. 이때 추가로 메모리가 소모되기 때문에 연산적인 측면에서 


모리상의 이점도 있다고 말하기가힘들다. 


4) 어떤 정수 자료형을 선택할것인가?


결론적으로 장점을 활용하면서 단점을 커버할려면 이러한 연산과정에서 속도와 메모리상


의 이점을 얻어야 한다.즉 연산 과정에서 변환과정을 거치지 않기 위해 N비트시스템에서는 


N비트로 정수를 표현하 자료형을 선택해야하는데, 그것이 int형이다. int형이 16비트 시스


템에서는 16비트로, 32비트 시스템에서는 32비트로 표현되어 왔기 때문이다.



2. 실수 자료형 선택 기준


1) double 선택


- 더블은 가장 일반적이고 대중적인 선택이다

- float 보다 안정적이고 오차확률이 낮아 부동소수점 오차를 줄일 수 있다.

- 연산속도 또한 매우 개선되었다.

- cpu와 메모리의 개선에 근거한 지침이다.


2) long double 선택


- 높은 정밀도를 요구하는 경우에 선택하면 좋다.

- 더블로는 표현 할 수 없는 높은 정밀도를 표현할때 사용한다.

- 오차가 민감한 프로그램 기준의 지침이다.


3) float 선택 


- 많은 양의 실수 저장이 필요한 경우 선택한다.

- 연산 보다는 값의 참조가 많은 경우 선택하면 좋다.

- 지형, 애니매이션과 같은 정보 저장 관점 지침이다.






반응형

'BackEnd > C' 카테고리의 다른 글

상수의 이해  (0) 2018.12.05
상수의 표현  (0) 2018.12.05
실수 자료형  (0) 2018.12.05
정수 자료형  (0) 2018.12.05
자료형을 나누는 기준은 무엇일까?  (0) 2018.12.05