데이터
0과 1을 나타내는 가장 작은 정보 단위는 비트이다.
1 바이트 = 8 비트
1킬로바이트 = 1000 바이트
1메가바이트 = 1000킬로바이트
1기가바이트 = 1000메가바이트
1테라바이트 = 1000기가바이트
이진법 : 0과 1만으로 표현하는 방법
이진수의 음수 표현 : 2의 보수
이진수는 양수인지 음수인지 구분하기 위해 플래그를 사용한다.
십육진법
15를 넘어가는 시점에 자리 올림하여 수를 표현하는 방법
0과 1로 문자를 표현하는 방법
컴퓨터가 인식하고 표현할 수 있는 문자의 모음을 : 문자 집합
문자 집합에 속한 문자라고 해서 컴퓨터가 그대로 이해할 수 있는건 아니다 문자를 0과 1로 변환 해야 비로소 컴퓨터가 이해할수있다
이 변환 과정을 : 문자 인코딩 이라고한다
인코딩 반대 과정, 즉 0과 1로 이우어진 문자 코드를 사람이 이해할수있는 문자로 변환 하는 과정은 문자 디코딩 이라고 한다.
- 아스키 코드
- EUC-KR
- 유니코드와 UTF-8
소스코드와 명령어
- 사람을 위한 언어 : 고급 언어 ( 대부분의 프로그래밍 언어가 고급 언어에 속한다 )
- 컴퓨터가 직접 이해하고 실행 할 수 있는 언어 : 저급 언어
저급 언어 -> 기계어 / -> 어셈블리어 두가지로 나눈다
기계어 : 0과 1의 명령어 비트로 이루어진 어어이다.
어셈블리어 : 기계어를 읽기 편한 형태로 번역한 언어이다.
왼쪽이 기계어
오른쪽이 어셈블리어
하드웨어와 밀접하게 맞닿아 있는 개발자는 어셈블리어 많이 이용한다고함
프로그램이 어떤 절차로 작동하는지 가장 근본적인 단계에서부터 하나하나 추적하고 관찰할수있기 때문에 어셈블리어 읽는다..
컴파일 언어와 인터프리터 언어
개발자들이 고급 언어로 작성한 소스코드는 결국 저급 언어로 변환외어 실행되는데
컴파일 방식과 인터프리트 방식이 있다.
컴파일 방식으로 작동하는 프로그래밍 언어를 컴파일 언어
인터프리트 방식으로 작동하는 프로그래밍 언어는 인터프리터 언어라고 한다 .
컴파일 언어 ->
대표적인 언어는 C가 있다
전체가 저급언어로 젼환되어 실행되는 고급언어
=>
컴파일 언어로 작성된 소스 코드는 컴파일러에 의해 저급 언어로 변환되고 ( 이과정을 컴파일이라고한다)
컴파일 결과로 저급 언어인 목적코드가 생성이 된다.
< - 컴파일 언어로 작성된 소스코드를 코드 전체가 저급 언어로 변환 되는 관정을 컴파일
- 컴파일 수행하는 도구 컴파일러 >
인터프리터 언어 ->
대표적인 언어는 Python가 있습니다.
인터프리터 언어는 소스코드를 한줄씩 한줄씩 차례로 실행한다
도구를 인터프리터 라고 한다.
두개 차이점 ?
컴파일 은 전체가 변환되어 중간에 오류 있으면 컴파일이 안된다 소스 코드 전체가 실행되지 않음
인터프리터 언어는 실행실행.... 오류 발생 전까지 코드는 실행
+ 자바는 컴파일과 인터프리트를 동시에 수행한다.
책에 예시
컴파일 방식은
독일어 책을 한권으로 번역해서 주는것
인터프리트 방식은 한줄씩 이건 무슨 의미야~ 이렇게 번역해주는것
그래서 번역된 책을 건네받기만 한다면 인터프리트 방식보다 훨씬 빠르게 컴파일 방식이 빠르다.
'컴퓨터구조 + 운영체제' 카테고리의 다른 글
[컴퓨터네트워크 - 1] Network Edge, core / TCP, UDP, packet switching , circuit switching (0) | 2024.07.28 |
---|---|
CPU 성능 향상 기법 (0) | 2022.10.24 |
컴퓨터구조와 운영체제 명령어의 구조 (0) | 2022.10.16 |
컴퓨터 구조 + 운영체제 / 컴퓨터 구조의 큰그림 (0) | 2022.10.16 |