본문 바로가기

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비트 데이터 연산을 할수 ..
실수 자료형 1. C언어의 실수 자료형 2. 일반적인 실수 자료형 실수 자료형은 표현의 범위를 넓히기 위해 정밀도를 낮췄다. 대신 오차가 발생할 수 있다. 그래서 실수 자료형을 선택 할때는 값의 범위는 넓기때문에, 값의 범위 보다도 정밀도를 보고 선택해야 한다. 실제로 float는 소수점 6자리까지는 오차를 발생안시킨다. 바이트수가 늘어날수록 정밀도는 높아진다.
정수 자료형 1. C언어의 정수 자료형의 크기 c언어의 표준에서는 각 자료형 별 크기가 딱 떨어지지않고 최소 몇 비트 이상이다 라고 표시되어 있다. 컴파일러 별로 자료형의 크기가 달라질 수 있음을 의미한다. 그리고 char
자료형을 나누는 기준은 무엇일까? 1. 자료형은 데이터를 표현하기 위한 방법, 약속이고, 약속의 주체는 C언어이다. 2. C언어의 기본 자료형 C언어 상에서의 데이터 표현을 위해 정의된 자료형이다. 자료형의 수만큼 데이터의 표현 방식이 다양해진다. 이러한 기본 자료형들은 프로그래밍 언어에 의존적이다. 3. 자료형을 나누는 기준을 보면 1) 표현할 데이터의 종류 - 크게 정수냐, 실수냐 2) 바이트 크기
정수와 실수의 표현방식, 그리고 변수와의 관계 1. int가 변수 num에 부여하는 의미 변수 int num; 을 선언 할때 int가 의미하는것은 1) 10진수 정수를 저장할 수 있는 메모리 공간 4바이트를 할당하겠다. 2) 정수의 표현방식으로 할당된 메모리 공간의 데이터 저장 및 참조방식에 대한 선언이다. 2. double의 예 double one = 12.345; //저장할때도 실수의 저장 방식 수식에다가 조합을 해서 가장 근사치를 계산해서 저장 double two = one + 2.4;// 참조할때도 실수의 표현방식을 수식을 근거로해서 읽어들여서 계산해서 저장 printf("%f", two); 3. 자료형에 대한 이해 메모리 공간의 데이터 표현방식을 의미하는 int,double과 같은 키워드를 가리켜 자료형이라 한다. 자료형이 빠지면 안되나? ..
정수와 실수의 표현 방식 1. 정수의 표현 방식 컴퓨터가 데이터를 표현하는 방식은 약속이다. 1과 0이 메모리공간에 저장되어있는 걸 보고 정수인지, 실수인지, 문자인지 알 수 없다. 어떤 약속에 의해 데이터가 저장되었고, 그 데이터를 참조할때도 약속된 형태에 따라서 해석을 하 기 때문에 정수가 될수도, 실수가 될 수도 있다. 그래서 가장 기본이되는 정수와 실수의 표현 방식이 어떻게 약속되어 있는지 봐보자 정수와 실수 둘은 데이터 저장방식이나 참조방식이 다르다. 1) 양의 정수 표현 방식 양의 정수 표현에 사용되는 바이트 수가 커지면 , 표현할 수 있는 정수 값의 범위가 증가한다. 바이트수에 상관없이 맨 앞은 부호비트(msb)로서 0은 양의 정수를 나타내고, 나머지는 데이터의 크기를 나타낸다. 밑의 그림은 1바이트 기준으로 +11..
데이터 표현의 단위 1. 비트, 바이트, 워드, 킬로, 메가바이트 데이터 또는 메모리 공간의 크기를 나타내는데 사용되는 단위를 알아보자 1) 비트와 바이트 - 비트는 컴퓨터가 나타내는 데이터의 최소 단위이다. - 1비트는 0 아니면 1값(2진수) 하나를 저장할 수 있는 메모리 공간의 최소크기를 의미한다. - 이러한 비트가 여덟개 모이면 1바이트가 된다. 2) 워드 - cpu가 한번에 연산, 처리할 수 있는, 이동시킬 수 있는 데이터의 크기를 의미한다. - 32 비트 시스템, 컴퓨터에서는 32비트가 1워드이다. - 64 비트 시스템, 컴퓨터에서는 64비트가 1워드이다. 3) 킬로바이트, 메가바이트, 기가바이트 - 1KB = 1 x 1024 바이트 - 1MB = 1 x 1024 x 1024 바이트 - 1GB = 1 x 1024..
진수와 진수변환 1) 컴퓨터의 데이터 표현 및 처리방식 내부적으로 컴퓨터는 0과 1을 이용해서 다양한 데이터를 표현하기도 하고 처리(연산)하기도 한다. 따라서 컴퓨터의 메모리에는 다음과 같은 형태의 데이터가 저장이 된다. 10110110 11010011 그렇다면 이 데이터의 종류,정체는 무엇일까? 정수일까?실수일까?문자일까? 여기에 답을 할 수가 없다. 왜냐하면 저장되어 있는 2진수 데이터를 어떻게 해석하느냐에 따라서 그 데이터의 종류가 결정되기 때문이다. 다시 말해서 위 데이터는 정수,실수,문자가 모두 될 수 있다. 그래서 결론적으로 컴퓨터가 위 2진수 데이터를 가지고 정수,실수,문자등 으로 인식할 수 있도록 하 는 약속과 방식이 있다. 우리는 이러한 표현 방식을 알아야 한다. 2) N진수로 표현할 수 있는것들 숫자는..