대학수업/시스템프로그래밍기초
[03] 시스템 프로그래밍 기초(소수의 표현)
프로세서를 제어하는 데에 C언어가 쓰인다. 메모리는 주소가 있다. 이 주소번지를 통해 값을 주고받는다. 하드웨어를 제어할 때 이 방식을 통해 제어한다. 따라서 포인터가 있는 C언어를 사용한다. 반대로 포인터 개념이 없는 JAVA나 python으로는 시스템을 프로그래밍할 수 없다. Floating point : normalization(정규화) : 모든 수를 1.xxx*2^10이나 0.1xxx * 2^10의 형태로 변환하는 것 biased exponent : 보정값 significand : 정규화에서 . 다음 숫자들 1/2+1/2^2+1/2^3+1/2^4+...+1/2^23까지 float이나 double은 정교한 계산을 위해서 만들어졌다. 큰 수를 표현하기 위해서보다는. IEEE 754는 float나 do..
[02] 시스템 프로그래밍 기초(선언과 정의)
declaration : 선언, 기계어로 번역되지 않는다. 즉, 컴파일러에게 정보만 준다.(실행 코드의 크기가 변하지 않는다) definition : 정의, 기계어로 반영된다. 즉, 실행코드에 반영된다. ex1) int x; // int라는 keyword는 정수형 변수를 선언할 때 사용된다고 선언되어 있다. int x = 10; // x에 정수 10을 넣는다는 정의를 한다. ex2) main은 ANSI에 따르면 return값이 int, 정수이다. int add(int a, int b){ return a+b; } int main(void){ int a,b; int c; c=add(a,b); } 함수는 definition이다. 기능을 정의하기 때문. int main(void){ int a,b; int c; ..
[01] 시스템 프로그래밍 기초(C언어란, 자료형)
사용하는 책 : a book on c 단어를 바탕으로 문장이 이루어진다. 이것이 프로그래밍. C언어를 다루기 위해서 스테이트먼트(statement)를 만들 줄 알아야 된다. 표현(expression)을 이용해서 스테이트먼트를 만들고 이것이 컴퓨터에게 명령이 된다. 세미콜론(;)을 기준으로 스테이트먼트를 만든다. 표현을 사용하기 위해서는 word를 알아야 되는데 핵심적인 word를 keyword라고 한다. (p.77) ANSI : 수많은 C 컴파일러가 있는데, 통일시키기 위한 규정 ANSI를 잘 지킨 컴파일러의 대표적인 예시는 gcc이다. 이름을 만드는 이유는 대상을 특정하기 위해서, 구분하기 위해서이다. 메모리의 특정 주소를 쉽게 구분하기 위해 "변수명"을 지정한다. 이것을 Identifier라고 한다...