Busan IT/제어언어2015. 2. 17. 17:40

제어언어 - 연산과 변수의 최적화

 

#1. 쉬프트 연산과 최적과

 

학습목표 - 쉬프트 연산의 효과를 이해하고 사용할 수 있다.

 

char cNum = -1;

int iNum;

iNum = cNum;

 

char변수의 저장 공간이 적더라도 int변수로 옮기는 과정에서 음수를 입력해야 하기 때문에 모든 레지스터의 공간을 FF로 채워서 음수를 만들어야 한다.

 

shift연산 >>에서도 음수일 때 빈 공간을 0이 아닌 1로 채우는 이유도 이와 같다.

 

//cpu최적화를 위해서는 unsigned int 변수가 가장 좋다.

//float을 써 버리면 cpu의 속도는 현저히 줄어든다.

//CPU에도 심장처럼 지속적으로 운동을 하는 부분이 있다. 이것을 oscillator라고 한다.

 

CPU에서 연산 속도는 + > 쉬프트 연산 > 곱하기 순이다.

#2. 자료형의 선언과 사용

학습목표 - 자료형의 종류와 표현 양식을 안다.

 

C언어가 제공하는 기본 자료형의 이해

 

변수의 크기는 compiler에 따라 다르다 때문에 sizeof로 변수의 크기를 확인해 볼 수 있다.

 

//sizeof( )

 



 

char(1) <= short(2) <= long(4) <=long long(8)

 

float(4) <= double(8) <= long double(8)

 

 

p/113 예제 - 원의 넓이)

 



 

double을 사용할 때 표현 방식을 %lf(엘에프)를 사용해야 한다.

#3. 변수와 최적화

 

학습목표 - 변수를 최적화 시키는 변수를 이해한다.

 

ASCII코드는 인간이 인식할 수 있는 문자를 지정하고 이를 그림화하여 화면에 표시해 준다.

 

문자를 사용할 때 작음 따옴표를 입력해주면 ASCII코드로 인식한다.

 

p/119

 

unsigned int형으로 선언하면 cpu에 최적화되지만 문자를 입력하는 경우는 연산을 하지 않기 때문에 굳이 int가 아닌 char을 써 주는 것이 낫다.

 

//문자를 표현해 주기는 하지만 모든 정보는 컴퓨터에서 정수 형태로 저장된다.

 

상수란 변경이 불가능한 값을 뜻한다.

 

p/122 실습 - literal size)

 




끝에 "f“를 삽입해 주어 형을 선언해 주는 것을 접미사라고 한다.

 

 

/* xy좌표 축을 입력하여 사각형의 크기를 구하는 프로그램

 



 

 

 

*/

 

 

#4. 다양한 변수

 

학습목표 - 변수의 형태와 특성을 이해한다.

 

 

 

U - unsigned

 

L - long

 

F - float

 

실수에서는 L을 쓰면 long double이 된다.

 

Symbolic상수는 변수처럼 쓰지만 수정이 안되는 상수이다.

 

선언: 접두사 cont

 

//const는 대입연산자가 있을 경우 왼쪽에 배치가 안된다.

 

 




 

위에 값들을 분석해 보자면

 

100literal, iNum1variable value, iNum2constant value이다.

 

// warning C4090을 띄운 이유는 포인터를 사용하여 const를 변경할까봐 경고 메시지를 띄우는 것이다.

 

const를 사용하는 변수선언 시 관례적으로 변수 값을 전부 대문자로 사용하는데 이것은 선언한 const변수의 값을 수정하지 말라는 표시이다.

 

 

 

 

 

 

 

 

 

반응형
Posted by newind2000