그레이(gray) 코드
int a,b;
int c=10, d=20;
■ 연속된 수가 1개의 비트만 다름
■ 비가중치 (non-weighted) 코드
■ A/D 변환기(analog-to-digital converter)에 사용
가중치 : 2진수 값이 10진수로 나타냈을때 대소가 확실히 알 수 있는것
1010(2) -> 10
0100(2) -> 4
0001(2) -> 1
그레이 코드 - DC모터를 (속도) 제어할 때 사용한다.
모터의 회전속도(RPM)은 1600~1800정도이다(초당 30바퀴정도 돈다. 눈으로 확인 어렵다)
감속기를 넣으면 초당 1~2바퀴정도로 감소시킨다. (각도 제어도 가능하다)
안에 작은기어에 큰기어를 걸어서 속도를 줄여준다.
큰기어에 모터 걸고 판을 만들어 구멍을 뚫는다. 빛을 쏘아 센서로 확인 가능하다.
구멍은 12개 뚫는다. 30도로 확인 가능 -> 30도로 제어 가능하다.
그레이(gray) 코드 변환 방법
■ 2진수를 그레이 코드로 변환
◆ 2진수의 첫 비트(MSB)는 그레이 코드의 첫 비트
◆ 2진수의 이웃한 두 비트의 합(carry는 버림)을 취하여 다음의 그레이 비트로 정한다.
◆ 위의 과정을 반복하여 다음 비트를 구한다.
■ 그레이코드의 2진수 변환
◆ 그레이 코드의 첫 비트(MSB)는 2진수의 첫 비트
◆ 위의 과정에서 얻은 2진수의 첫번째 비트와 그레이 코드의 두번째 비트의 합(carry는 버림)을 취하여 2진수의 두번째 비트로 정한다.
◆ 위의 과정을 반복하여 다음 비트를 구한다.
1 0 1 0 (2)
1 1 1 1 (G)
1 0 1 0 (2)
해밍(hamming) 코드
■ 코드 전송시 발생하는 오류를 검출(detecting)하고 수정(correcting)이 가능한 코드
■ 미국 Bell 연구소의 R.W.Hamming에 의하여 개발
3초과 코드 (생략) 보수 (생략)
수치 자료의 표현
■ 수치 자료는 프로그램 실행 중 사칙연산이 가능한 자료
■ 컴퓨터 내부에서 계산할 때만 사용하고, 그 결과는 문자로 출력
■ 수치 자료의 표현 방식
◆ 정수 표현 : 고정(固定) 소수점 형식
◆ 10진 형식, 실수 표현 : 부동(浮動) 소수점 형식
0 | . | 1 | ||
0 | . | 1 | 3 | |
2 | . | 3 | 5 | |
1 | . | 2 | 3 | 4 |
영상 및 음성자료의 표현
■ 영상 자료의 표현
◆ 영상 자료는 화면에 그림 등이 수 많은 점의 집합으로 표현
◆ 그래픽스 (graphics) : 점들의 집합으로 그림을 나타내는 방식
칼라는 빛의 3원색(rgb)으로 표현
R | G | B |
◆ 화소(pixel) : 그래픽스에 나타나는 각각의 점
■ 흑백화면 : 각 점을 화소에 2진수 0과 1을 대응시켜 명암을 표현
■ 칼라화면 : 3개 또는 그 이상의 비트를 이용하여 색과 명암을 표시
프로그래밍 언어
■ 프로그래밍 언어란 무엇인가?
◆ 사람과 컴파일러(& 어셈블러)가 이해할 수 있는 약속된 형태의 언어
◆ 저급언어 - 컴퓨터가 이해하기 쉬운언어 ex) 어셈블리어
◆ 고급언어 - 인간에게 친근한 언어 ex) C언어 외
Comp. CPU 기계어 (0,1의 조합) |
해독기 컴파일러 어셈블러 |
프로그래밍 언어 고급언어 저급언어 |
어셈블리어
■ Mnemonic code에 명령어를 첨가한 것.
■ 기계어의 명령부와 번지부를 사람이 이해하기 쉬운 기호와 1:1로 대응시켜 기호화한 프로그램 언어
■ Mnemonic code
◆ 프로그래밍의 비효율성 극복을 위해 기계어의 비트 형식을 연상코드화
◆ 심벌화로 프로그램의 이해와 작성이 쉽다
◆ 기계어로 직접 변환 가능
◆ 프로그램 작성이 쉽다.
■ Assemble
◆ 어셈블리어(Source) 프로그램을 기계어 (Object)로 바꾸는 것.
고급 수준 언어
■ FORTRAN
◆ FORmula TRANslating system(수식번역 시스템)
◆ 가장 오래된 언어. 계산 위주로 단순, 간결.
◆ 기술 계산 분야에 사용
■ BASIC
■ COBOL
■ PASCAL
■ C
◆ B언어에서 발전한 언어
◆ 1972년경 UNIX의 운영체제 개발을 위한 시스템 프로그래밍 언어로 설계
◆ 컴파일러나 많은 소프트웨어 TOOL들이 C로 개발됨
C언어를 기계어로 바꾸어주는 컴파일러도 C로 개발되었다
한글에서 프린터 아이콘 누르면 화면이 뜨는데, 그것도 C로 개발되었다
◆ 기계어에 가까워 하드웨어에 대한 확실한 통제 가능
◆ 이식성(portability)이 높다
◆ 풍부한 연산자와 데이터 type
◆ 범용 프로그래밍 언어와 응용소프트웨어 개발에 많이 사용
■ C++
◆ 객체지향 프로그래밍(OOP : Object-Oriented Program 독립적인 각각의 객체로 프로그램이나 시스템을 구성하는 일)을 지원하기 위한 언어
◆ C언어의 장점을 계승하고 객체의 상속성의 개념을 추가하여 1983년 개발한 언어
독립적으로 실행하는 과정에서 다른 프로그램을 넣어서 돌릴 수 있다.
■ JAVA
컴파일
■ 고급언어로 작성된 프로그램을 컴퓨터가 이해할 수 있도록 기계어로 번역해주는 역할을 하는 번역기
C로 장치를 액추에이터를 구동하기 때문에 깊이 있게 다룬다.
전처리기
■ 컴파일을 하기 전에 먼저 읽어 삽입하는 역할
◆
◆
■ 컴파일러는 전처리기의 처리 결과인 소스를 컴파일한다.
◆
◆
헤더파일
■
◆
◆
■
■
◆
◆
지시자 #include와 define
키워드와 식별자
변수
■ 임시로 자료값을 저장하는 저장장소
■ 사용전에 변수 선언을 해야 함
■ 선언과 함께 초기값을 저장할 수 있다.
■ 마지막 값만 저장한다.
int a,b;
int c=10, d=20;
출처: https://okcoding.tistory.com/457?category=899419 [생활코딩]
'자동제어 > PC 제어' 카테고리의 다른 글
PC제어프로그램 4일차 (20.05.12) - Visual C++ 사용하기 (2) | 2020.06.18 |
---|---|
PC제어프로그램 4일차 - 프로그래밍 언어(20.05.12) (0) | 2020.06.17 |
PC제어프로그램 3일차 - 문자 자료의 표현 외(20.05.07) (0) | 2020.06.17 |
PC제어프로그램 3일차 - 진수의 연산, 뺄셈 (20.05.07) (0) | 2020.06.17 |
PC제어프로그램 2일차 - 진수의 변환 (200423) (0) | 2020.06.17 |