제어언어 - 연산과 변수의 최적화
#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는 대입연산자가 있을 경우 왼쪽에 배치가 안된다.
위에 값들을 분석해 보자면
100은 literal, iNum1은 variable value, iNum2는 constant value이다.
// warning C4090을 띄운 이유는 포인터를 사용하여 const를 변경할까봐 경고 메시지를 띄우는 것이다.
const를 사용하는 변수선언 시 관례적으로 변수 값을 전부 대문자로 사용하는데 이것은 선언한 const변수의 값을 수정하지 말라는 표시이다.
'Busan IT > 제어언어' 카테고리의 다른 글
디버깅(Debugging)과 논리연산자 (0) | 2015.02.24 |
---|---|
복습 및 디버깅(debugging) (0) | 2015.02.23 |
C언어 복습 및 비트 연산자 (0) | 2015.02.16 |
C프로그래밍 책과 함께 기초 복습 (0) | 2015.02.13 |
반복문을 활용한 배열과 포인터 연산 (0) | 2015.02.12 |