0311
cpu에 더하는 회로를 alu 라 함.
cpu 3대 구성요소 : 사람이 직접 alu나 cu를 건들이기 힘들고..register를 건들여 register제어기능 사용하여 cpu 동작시킴.
- alu (arithmatic and logic unit : 산술논리연산 회로. 사칙연산 등. alu 안에 덧셈기 있음)
- cu (control unit : 외부장치제어 회로.)
- register : 두가지 개념. 1기능만 있는 레지스터도 있고, 1과 2의 기능을 갖고 있는 레지스터도 있음.
- 1. cpu 안에 있는 메모리 : cpu와 동급으로 동작하나 가격이 아주 비쌈. 플립플롭(1비트를 기억시키는 회로).
연산을 하기 위해 메모리에 있는 변수값을 cpu에 보관하는 장소.
레지스터와 메모리 사에에 캐시메모리가 있고 성능은 양자의 중간정도.
- 2. cu의 성질. 제어.
* 변수가 저장되는 공간은 레지스터가 아니라 메모리 영역.
&& : inum1전체를 통째로 보아 값을 참조.
& : 위와 다른 회로 동작. 각 비트를 and 시킴. 비트연산자.
and 게이트로 inum1와 inum2의 각 비트를 모두 검사, 자리수마다 and 게이트 동작.
inum3=inum1&&inum2; 에서.. 일의 순서는 프로그램 카운터에서 기억?? 메모리 주소 레지스터??
..inum1거짓일 때 &&이후 생략되는 것은 어느 레지스터에서 판단??
틸드 : ~ 비트단위 not 연산자.
#include<stdio.h>
int main()
{
int inum1,inum2,inum3;
inum1=0xfffffff0; // 11...0000 : 4바이트 다 쓰고 있음
//inum2=0x4;
inum3=~inum1;
printf("%x %x",inum1,inum3);
return 0;
}
단항연산자 네 가지. |(or) &(and) ~(not) ^(xor)
시프트연산자 >> 요즘은 *4로 해도 컴터가 쉬프트연산자 자동으로 해 줌.
#include<stdio.h>
int main()
{
int inum1,inum2,inum3;
inum1=0x18; // 11...0000 : 4바이트 다 쓰고 있음
inum2=inum1>>2; // 0011
inum3=inum2>>3; // 0001 나머지 1은 짤려나감
printf("%x %x %x \n",inum1,inum2,inum3);
inum3=inum3<<3; //1000
printf("%x\n",inum3);
return 0;
}
상수는 메모리에 저장된 값이 아니라..
CPU 연산조건 임??
L value : 변수. 메모리 공간. 변수명은 사실..숫자형 주소명을 문자로 표현해 놓은 것임.
R value : 변수나 상수. 상수가 저장된 공간은? 아님 cpu 연산상태?
변수, 키워드(변수명
으로 사용불가), 키워드처럼 쓰이는 main (엔트리포인트),
상수.
윈도우, 프로그램 설치. 컴터 환경셋팅은 본인이 할 줄 알아야.
vmi로 메모리 할당해서 xp 설치해보면 좋음.
아웃룩 pop3. ip 설정.
const : 변수용 문자를 상수용으로 씀.
sizeof 함수가 아닌 연산자!! sizeof num 가능하나 편의상 혹은 우선순위 때문에 sizeof(num).
sizeof(num1+num2)도..num1 자료형의 크기.
'C언어 업무보고' 카테고리의 다른 글
0314 반복문,초기식,조건식,반복식,조건문,for,if else (0) | 2014.03.14 |
---|---|
0312 폰트, 화면주사방식, 아스키코드, 형변환 (0) | 2014.03.12 |
140310 소수점 float, double (0) | 2014.03.10 |
0307 자료형, 연산자 (0) | 2014.03.07 |
0306 변수,라인피드,프린트 (0) | 2014.03.07 |