논리수학과논리수학과표현표현 -...

68
논리수학과 논리수학과 표현 표현 논리의 표현 진법과 숫자 2진수와 10진수 진법과 숫자 2진수와 10진수 문자의 표현 [email protected] http://blog.naver.com/dolicom

Transcript of 논리수학과논리수학과표현표현 -...

논리수학과논리수학과 표현표현

논리의 표현

진법과 숫자 표현 2진수와 10진수진법과 숫자 현 2진수와 10진수

문자의 표현

[email protected]://blog.naver.com/dolicom

숫자와 문자의 표현 방식숫자와 문자의 표현 방식

숫자의 표현2진수 보수 체계 – 정수형2진수 수 체계 정수형

Floating Point - 실수형

ASCII 코드ASCII 미국의 컴퓨터 문자 표현 ( 1바이트)

KS-5601KS 5601한국어 지원을 위한 완성형 표준안 (2바이트가 한글자)

UNICODEUNICO다국어 지원을 위한 표현(2바이트)

진수진수

2진수 : 0과 1로 두가지 상태로 표현CPU의 내부의 디지털 회로에 의해 처리

8진수 : 0~7로 표현

10진수 : 인간의 대표적 숫자 표현10진수 인간의 대표적 숫자 표현

16진수 : 4비트를 한 자리로 표현0~15까지를 0 1 2 9 A B C D E F로 표현0~15까지를 0,1,2, … , 9,A,B,C,D,E,F로 표현

기계어 및 C의 숫자 표현에 많이 사용 한다.

어셈블리 1BH 0FEH등으로어셈블리 1BH, 0FEH등으로

C에서는 0x1b, 0xFE등으로 사용

2진수2진수

한 비트는 디지털 회로에서 0과 1로 표현한 비트는 디지털 회로에서 0과 1로 표현

여러 비트의 자릿수로 표현

0 1 1 02 1

2진수

2 2 2 23 2 1 0

자릿수의 값8 4 2 1

8x0+4x1+2x1+1x0 => 4+2 => 6

마지막 비트는 2로 나눗 나머지 값이다.

10진수10진수

인간 일상적 수인간이 일상적으로 사용하는 수

10 10 10 10

5 0 4 33 2 1 0

10진수

자릿수의 값 10 10 10 10자릿수의 값1000 100 10 1

10진수 1000x5+1000x0+100x4+1x3 => 504310진수 1000x5+1000x0+100x4+1x3 > 5043

마지막 자리는 10으로 나눗 나머지 값이다. 5043 / 10 => 몫 504, 나머지 3/ 몫 , 나머지

16진수16진수

진수 진수 한 현2진수 4비트를 16진수 한자리로 표현

3 0 E A3 2 1

16진수

A 1010 10B 1011 11C 1100 12D 1101 13

16 16 16 163 2 1 0

자릿수의 값4096 256 16 1

D 1101 13E 1110 14F 1111 15

10진수 4096x3+256x0+16x14+1x10 => 30352

마지막 자리는 16으로 나눗 나머지 값이다. 30352 / 16 => 몫 1576, 나머지 10 (=A)

2진수의 표현2진수의 표현

전자의 디지털 공학은 2진수의 표현을 사용전자의 디지털 공학은 2진수의 표현을 사용논리 1과 0은 2진수 상태를 전압으로 표시

기의 리 전압 기 현초기의 논리는 5V 전압을 기준으로 표현1 = 5V -> 3.3V

0 0V > 0V0 = 0V -> 0V

3.3V로 바뀌는 추세동작 속도 및 전력 감소 효과동작 속도 및 전력 감소 효과

전압은 점점 낮아지는 추세이나 디지털 회로를 구성하는 소자의 특성에 따라 한계가 있다.

디지털 회로로 구성되어 칩은 정해진 전압에 의해 구동되며 회로 설계 시 동작 전압을 확인 해야 한다.

논리의 부울대수논리의 부울대수

AND : 논리 and – 입력 모두 1일때 출력1

OR : 논리 or – 하나라도 1입력이면 1출력

NOT : 논리 not – 입력의 반대 출력

XOR : 논리 XOR – 2입력이 다르면 1출력XOR : 논리 XOR – 2입력이 다르면 1출력

AND OR NOT XOR

0 0 0

A B Y

AND

0 0 0

A B Y

OR

0 1

A Y

NOT

0 0 0

A B Y

XOR

0 0 00 1 01 0 01 1 1

0 0 00 1 11 0 11 1 1

0 11 0

0 0 00 1 11 0 11 1 01 1 1 1 1 1 1 1 0

eXclusive OR

논리 기호논리 기호

기본 논리

Y=A.BA

B

Y=A.BA

B

Y=A+B

B

A A

BY=A+B

B B

Y = AA

Y=A ⊕ BA

BY=A ⊕ B

A

BY A ⊕ B=AB+AB

B B

전자회로 구현-TTL 74LS00(NAND)전자회로 구현 TTL 74LS00(NAND)

A Y = A & B = not (A and B)

5V

A

BY

( )

R 100오옴

1 = 4.xV

A 논리처리

논리처리

0 = 0.2V

BA&B

토템폴 출력

논리 회로의 선 연결논리 회로의 선 연결

5V4.7K

Vcc

4.7K

논리의 전자적 표현(개념모델)논리의 전자적 표현(개념모델)

5V

출력부

S1switch

출력부

switch1 = 5V0 = 0VZ = 플로팅 상태

입력처리로직

입력

S2switch

(어떤 전압 상태도 아님)직

0V GND0V GND

로직 구현로직 구현

논리의논리의 표현표현논리의논리의 표현표현

전압과 전류전압과 전류

V = IR 오옴의 법칙

디지털 회로는 표현에서 전압은 고정하고디지털 회로는 표현에서 전압은 고정하고전류 변화

전류는 회로의 구성에 따라 자동으로 결전류는 회로의 구성에 따라 자동으로 결정 된다.

디지털 회로의 구현은 위의 법칙에 따라TR FET등으로 구성 한다TR, FET등으로 구성 한다.

논리 1 출력논리 1 출력

5V

전류로직내부(칩)

S1 = ON

1 = 5V입력처리

및스위치제어

입력

S2 = OFF

스위치제어

0V GND

논리 회로에서 전류 1논리 회로에서 전류 15V

4 7K

0 11 0

4.7K전류=0

1

Vcc

4.7K

OFFOFFONON

ONON OFF

ON

ON

OFF

0=0.2V

1=4.xV전류=출력에따라OFFOFF

7K

OFFOFFONON

ONON

ON

OFFOFF

ONOFF

논리 회로에서 전류 2논리 회로에서 전류 2

5V 5V4 7K

4.7K

1 00 1

4.7K

전류

Vcc

4.7K

Vcc

4.7K

ONONOFFOFF

OFFOFF ON

OFF

OFF

ON

0=0.2V

1=4.xV전류=출력에따라ONON

7K

ONONOFFOFF

OFFOFF

OFF

OFFOFF

OFFON

논리 0 출력논리 0 출력

5V

S1 = OFF

0 = 0V입력처리

및스위치제어

입력전류

S2 = ON

스위치제어 전류

0V GND

논리 1 입력 5V 입력

논리 1 입력5V 입력출력

5V

전류

5V

S1 = ON S1 = OFF

NOT동작예

입력 0 = 0V전류예

S2 = OFF S2 = ON

0V GND0V GND 0V GND

논리 회로의 선 연결논리 회로의 선 연결

5V4.7K

Vcc

4.7K

논리 0 입력논리 0 입력

5V5V 5V

전류

5V

NOT

S1 = ONS1 = OFF

0 0VNOT

게이트동작예

입력

0 = 0V

전류

S2 = OFFS2 = ON

0V GND0V GND 0V GND0V GND

논리 Z – Floating Point논리 Z Floating Point

OE

5VA

OE

Y=A, OE=1Y=Z, OE=0

S1 = OFF A

OE

Y=A, OE=1Y=Z OE=0

어느 전압

입력처리및

스위치제어

입력전류 = 0

Y=Z, OE=0

어 전압스위치제어

S1 = OFF

OE

0V GND

논리의 전자적 표현- 한 개의 SW논리의 전자적 표현 한 개의 SW

5V5V

칩 내부

입력처리입력

S1 switch1 = 5V로 유지0 = 0VZ = 불가능

0V GND0V GND

논리 1 – Open Collector논리 1 Open Collector

5V5V

전류칩 내부

5V

전류

R 저항4.7K 10K

입력처리및

스위치제어

입력

S1 = OFF

1 = 5V스위치제어

0V GND

논리 0 – Open Collector논리 0 Open Collector

5V5V

칩 내부

5V

전류1R 저항4.7K 10K

입력처리및

스위치제어

입력

S1 = ON0 = 0V

스위치제어전류2

0V GND

Open Collector 예Open Collector 예

ABC

Y

오픈 컬렉터와 토템폴 출력오픈 컬렉터와 토템폴 출력

오픈 컬렉터오픈 컬렉터-출력쪽에 풀업 저항을 사용-TTL의 내부에서 보면 TR의 에미터가 내부 풀업이 없는 상태: IC의 출력핀에 연결

( )-외부에서 이 에미터(IC의 출력핀)에 전원을 공급-출력을 다른 전압으로 구동 가능 – (예) 12V로 풀업 가능, 전압은 IC마다 다름-쓰임새는 wired-or로 사용 (오픈 콜렉터 출력끼리는 서로 직접 연결)두개의 출력이 하나는 "로우“ 하나는 "하이" 이더라도 쇼트되지 않음두개의 출력이 하나는 로우 , 하나는 하이 이더라도 쇼트되지 않음

토템폴 출력-토템풀: 북아메리카 인디언들의 조상의 혼을 기리는 상징물로서

개 이상의 비슷한 각상이 하나의 기 ( )에 세겨진것 말함두개 이상의 비슷한 조각상이 하나의 기둥(Pole)에 세겨진것을 말함-일반적 TTL(7404)의 출력이 TR이 출력핀을 중심으로 상하고 두개 겹쳐진 모양-출력에 Pull-up 저항이 없이 동작-절대로 출력을 출력끼리 접속해서는 안됨절대로 출력을 출력끼리 접속해서는 안됨: 두개 출력의 논리가 반대일 때, 내부 출력스위칭 TR은 전원에 대해 쇼트와 같이 되어

큰전류로 출력 TR이 파괴

토템폴 출력의 문제 – 출력 끼리 연결토템폴 출력의 문제 출력 끼리 연결

출력을 두 개 묶으면 논리가 반대로 출력되면출력을 두 개 묶으면 논리가 반대로 출력되면과전류가 흐른다.

전류15V

S1=ON

A

B

Y

S1=ON

1 = 5VA

Y

전류2S2=OFF 5V

S1 = OFF5V

전류2

전류S2 = ON

0 = 0V

5V

B

전류S2 = ON

출력 끼리 연결 사용 예출력 끼리 연결 사용 예

출력을 두 개 묶고 한 출력은 Z으로 설정하고출력을 두 개 묶고 한 출력은 Z으로 설정하고나머지에서 출력으로 사용

CA

전류15V

S1=OFF

A

B

Y

CBCA

S1=OFF

Z = openAY

전류2

CB

S2=OFF 5V

S1 = OFF5V

전류2

S2 = ON

0 = 0V

B

CB

S2 = ON

출력 끼리 연결 사용 예 - 충돌출력 끼리 연결 사용 예 충돌

출력을 두 개 묶고 한 출력은 Z으로 설정하고출력을 두 개 묶고 한 출력은 Z으로 설정하고나머지에서 출력으로 사용

CA

전류15V

S1=ON

A

B

Y

CBCA

5V

S1=ON

1 = 5VAY

전류2

CB

S2=OFF 5V

S1 = OFF5V

전류2

S2 = ON

0 = 0V

B

CB

S2 = ON

로직 구현로직 구현

FETFET을을 사용한사용한 논리논리 구현구현

FET(CMOS)을 사용 할 경우FET(CMOS)을 사용 할 경우

5V

p-channel

1 = 4.xV0 = 0V

A

논리처리

B

n-channel

FET(CMOS) NOT 게이트(gate)FET(CMOS) NOT 게이트(gate)

A Y = A

5V

1 = 4.xVV t

p-channel

Vi1 4.xV0 = 0V

Vout

n-channel

Vin

n-channel

CMOS NOT 게이트(gate)CMOS NOT 게이트(gate)

AB

C

tDa=수nsec 지연

X Y

5V 5V

A

tDa 수nsec 지연

0 1 0

구간 X의 전압과 전류

1=4.xVA=0V

C

0 = 0.xV

B

입력신호

1 0 1

B C

tDb

입력신호10 0

tDb

CMOS NOT 게이트(gate)CMOS NOT 게이트(gate)

AB

C

tDa=수nsec 지연

X Y

5V 5V

A 0 1 0

tDa 수nsec 지연구간 Y의 전압과 전류

A=5V C

0 = 0.xVB 1 0 1

5V

1=4.xV

A 5V

BC

C

tDb

입력신호10 0

tDb

TTL과 CMOS 신호 전압TTL과 CMOS 신호 전압

TTL과 CMOS-동작속도와 소비전력TTL과 CMOS 동작속도와 소비전력

논리 표현논리 표현

비트와비트와 바이트바이트

CPU의 데이터 처리 단위CPU의 데이터 처리 단위

Bit : 한 상태를 나타내는 최소의 단위Bit : 한 상태를 나타내는 최소의 단위 . Byte :한 문자를 나타내는최소의 단위 ( 8 Bit).Word : 한 단어를 나타내는최소의 단위. (CPU의 비트 수와 연관)

소형CPU 2 B 16bi소형CPU : 2 Byte = 16bit대형CPU : 4 Byte = 32bit

1bi 어느 한 상태를 나타냄1bit : 어느 한 상태를 나타냄.(1) ON(0) OFF

1byte = 8 Bit : 256가지상태를 나타냄.

0 1 0 1 1 0 0 1

1byte 단위 처리 예 - 80511byte 단위 처리 예 8051

8비트 단위로 저장

25 명령어 해석데이터버스

8비트 단위로 저장

02 Oprand 버퍼

A = 0

B

. . .. . .

FLAG 설정FLAG 설정

00 02

ALU

02

8비트 단위로 계산

1byte 단위 처리 예 - 메모리1byte 단위 처리 예 메모리

메모리는 1 8 16 32단위로 엑세스 할수 있음메모리는 1, 8, 16, 32단위로 엑세스 할수 있음칩을 만들 때 처리 단위는 결정되어 있다.

0000

주소 7 6 5 4 3 2 1 0

8단위의 칩

0000

0001

0002

0003

0004

0005

. . .

7FFF

1byte 단위 메모리 읽기1byte 단위 메모리 읽기

8비트 단위 칩은 한번 무조건 8 비트 단위로 엑세스8비트 단위 칩은 한번 무조건 8 비트 단위로 엑세스

A2 A1 A0

0

주소 7 6 5 4 3 2 1 0

0 0 1

0

1

2

33

4

5

D7 D6 D5 D4 D3 D2 D1 D0

6

7

MUX

1byte 단위 메모리 -바이트단위만1byte 단위 메모리 바이트단위만

특정 1비트만은 처리가 불가능특정 1비트만은 처리가 불가능

A2 A1 A0

0

주소 7 6 5 4 3 2 1 0

0 0 1

0

1

2

33

4

5

6

7

MUX

1byte 단위 메모리 쓰기1byte 단위 메모리 쓰기

8비트 단위 칩은 한번 무조건 8 비트 단위로 엑세스8비트 단위 칩은 한번 무조건 8 비트 단위로 엑세스정해진 비트 수 단위로만 처리

주소

7 6 5 4 3 2 1 0

A2 A1 A0

0 0 1

0

1

2

7 6 5 4 3 2 1 0

2

3

4

5

저장신호발생

5

6

7

메모리의 필요한 신호선-SRAM메모리의 필요한 신호선 SRAM

D7

8x8bit=64bit 메모리

A2

A1

A0

D7

D6

D5

CS

D4

D3

D2CS

RD/WR

D1

D0

Vcc GND

Vcc GND

Vcc GND

전원

숫자와 논리 계산숫자와 논리 계산

숫자의숫자의 표현표현

숫자의 표현과 프로그램숫자의 표현과 프로그램

정수는 8비트 단위의 계산을 한다정수는 8비트 단위의 계산을 한다.C int는 몇 개의 레지스터를 묶어 16비트로 표현 한다현 한다.레지스터 사용 방식은 컴파일러마다 틀림숫자의 계산은 레지스터 값이 ALU 통해 계산숫자의 계산은 레지스터 값이 ALU 통해 계산한다.

실수형 자료(Floating Point)32비트를 처리를 위해 2바이트의 변수를 사용한다.내부적으로 실수 계산을 불가능 하기 때문에 별도의함수로 처리

C에서의 숫자 표현C에서의 숫자 표현

C에서 2 10 16진수는 개발자의 표현에 의해 컴파일러가C에서 2,10,16진수는 개발자의 표현에 의해 컴파일러가2진수로 변환하여 사용 한다.

int cnt16;char cnt8; cnt8 = 0xFE;cnt16 = -2;

0xFE는 컴파일러에 의해 2진수 1111 1110로 표현되어프로그램 코드에 붙는다.8051의 예:8051의 예:; cnt8 = 0xFE;74 FE MOV A,0FEH => 01110100 11111110F5 A0 MOV 0A0H,A => 11110101 10100000

결국 위의 프로그램은 01110100 11111110처럼 변형되결국 위의 프로그램은 01110100 11111110처럼 변형되어 ROM/FLASH에 들어 가서 프로그램이 실행된다.

정수형 표현 체계 I정수형 표현 체계 I

2진수의 숫자 표현법-각 CPU의 처리 단위에 따라 비트는 다름.위에 따라 비 다

2의 보수 체계를 사용

정수형 계산은 C U 내의 ALU을 이용 직정수형 계산은 CPU 내의 ALU을 이용 직접 계산 된다.

10진수와 2진수의 변화 – 방법110진수와 2진수의 변화 방법1

원리마지막 비트는 2로 나눈 나머지다.마지막 비 는 나눈 나머지다.

2로 나누면 전체 비트가 오른쪽으로 한 비트shift 된다shift 된다.

1 0111 - 마지막 비트(LSB) 1은 2로 나눈 나머지 값이다.1. 0111 마지막 비 ( ) 나 나머지 이다

2. 7 / 2 = 3 -> 나머지 13. 3은 7을 오른 쪽으로 1비트 쉬프트 한 값이다.

2진수를 10진수로 변환2진수를 10진수로 변환

각 자리는 2의 승수

7 1

0 1 0 0 1 1 0 12진수

2 2 2 2 2 2 2 27 6 5 4 3 2 1 0

128 64 32 16 8 4 2 1

01001101(2진수) = 64+8+4+1 = 77(10진수)

2로 나누어 나머지 얻기2로 나누어 나머지 얻기

332 7

6( )1 --- 1 ( LSB)

12 3

2 1 --- 100

2 101 ---- 11 1

7 = 111

2로 나누어 나머지 얻기2로 나누어 나머지 얻기

222 5

441 --- 1 ( LSB)1

2 22 0 00 --- 00

2 12 1 01 ------1

5 = 101

2로 나누어 계산 – 표기법 변환2로 나누어 계산 표기법 변환

0

2 1 --- 1 (MSB)2 1 1 (MSB)

2 3 --- 1

2 7 --- 1 ( LSB)

5 = 101

38 => 10011038 > 100110

0 1

2 1 0 38 = 1001102 1 0

2 2 0

38 100110

2 4 1

2 9 12 9 1

2 19 0

2 38

보수보수

1의 보수 : 각 비트 값을 다른 값으로 바꾼것.

2의 보수 : 2의 보수 값에 1을 더한 값.

0010 0110

1101 10011의 보수

0000 0001+

1101 10102의 보수

정수의 표현 - 2진수 표현정수의 표현 2진수 표현

4비트 8비트 16비트

+7 01116 0110

+127 0111 1111126 0111 1110

+32767 0111 1111 1111 111132766 0111 1111 1111 1110

4비트 8비트 16비트

…3 00112 0010

…3 0000 00112 0000 00101 0000 0001

…3 0000 0000 0000 00112 0000 0000 0000 0010

1 00010 0000-1 11112 1110

1 0000 00010 0000 0000-1 1111 11112 1111 1110

1 0000 0000 0000 00010 0000 0000 0000 0000-1 1111 1111 1111 1111

-2 1110-3 1101-4 11005 1011

-2 1111 1110-3 1111 1101-4 1111 1100-5 1111 1011

-2 1111 1111 1111 1110-3 1111 1111 1111 1101-4 1111 1111 1111 11005 1111 1111 1111 1011-5 1011

…-8 1000

-5 1111 1011…

-128 1000 0000

-5 1111 1111 1111 1011…

-32767 1000 0000 0000 000132768 1000 0000 0000 0000-32768 1000 0000 0000 0000

정수형 자료의 계산정수형 자료의 계산

4비트 정수4비트 정수 + 4+3 = 74 01004 0100

+ 3 00117 0111

8비트 정수 +4+3 = 7

4 0000 0100+ 3 0000 0011

7 0000 0111

정수형 자료의 계산 뺄셈정수형 자료의 계산 뺄셈

4비트 정수 연산 원리 (뺄셈)

(예) 5 3 2

+7 0111

6 0110

5 0101(예) 5-3 = 2

연산 순서1 3 값의 2의 보수를 구한다

5 0101

4 0100

3 0011

2 00101. -3 값의 2의 보수를 구한다. +3 : 0011

1의 보수 : 11001을 더함 : 0001

2 0010

1 0001

0 0000

-1 11111을 더함 : 00011101 => -3

2 연산 5 + (-3)을 한다

-2 1110

-3 1101

-4 11002. 연산 5 + ( 3)을 한다.

+5 0101+ (-3) 1101

2 0010

-5 1011-6 1010-7 1001-8 10008 1000

8비트 정수 연산 -뺄셈8비트 정수 연산 뺄셈+127 0111 1111

(예) 5-3 = 2+127 0111 1111

126 0111 1110

…3 0000 0011연산 순서

1. –3은 +3값의 2의 보수를 구한다. +3 : 0000 0011

3 0000 0011

2 0000 0010

1 0000 0001+3 : 0000 0011

1의 보수 : 1111 11001을 더함 : 0000 0001

1111 1101 => 3

0 0000 0000

-1 1111 1111

-2 1111 11101111 1101 => -3

2. 연산 5 + (-3)을 한다.5 0000 0101

-3 1111 1101

-4 1111 1100

-5 1111 1011+5 0000 0101

+ (-3) 1111 11012 110000 0010

5 1111 1011

…-128 1000 0000

16 32 비트 계산16, 32 비트 계산

1 3은 3값의 2의 보수를 구한다1. –3은 +3값의 2의 보수를 구한다. 0000 0000 0000 0011

1111 1111 1111 1100 -> 1의 보수1111 1111 1111 1100 -> 1의 보수

0000 0000 0000 0001 + 1

1111 1111 1111 1101 2의 보수 = -3

2. 연산 5 + (-3)을 한다.0000 0000 0000 0101

1111 1111 1111 11011111 1111 1111 1101

1 1 0000 0000 0000 0010 => 2

32 비트 계산0000 0000 0000 0000 0000 0000 0000 0101

1111 1111 1111 1111 1111 1111 1111 1101

1 1 0000 0000 0000 0000 0000 0000 0000 0010

C언어의 숫자 표현과 CPU내의 표현C언어의 숫자 표현과 CPU내의 표현

의 변수는 메모리의 내용을 의 레C의 변수는 메모리의 내용을 CPU의 레지스터로 가져와 ALU을 이용하여 계산.

정수형 연산 기계어로 값을 계산

정수형 변수 int는 2의 보수 체계를 이용정수형 변수 int는 2의 보수 체계를 이용

정수형 변수 unsigned int는 마이너스 부분이 없어 2진수 체계로 계산분이 없어 2진수 체계로 계산

정수형 변수 int의 비트는 CPU마다 다름8비트 CPU : 거의 16비트 정수형 사용

16/32비트CPU : 거의 32비트 정수형 사용

C의 unsigned int 표현C의 unsigned int 표현

255 1111 1111254 1111 1110

65535 1111 1111 1111 111165534 1111 1111 1111 1110

8비트 표현(C에서는 거의 사용안함) 16비트 표현

254 1111 1110253 1111 1101

…130 1000 0010

65534 1111 1111 1111 111065533 1111 1111 1111 1101

…130 0000 0000 1000 0010130 1000 0010

129 1000 0001128 1000 0000

130 0000 0000 1000 0010129 0000 0000 1000 0001128 0000 0000 1000 0000127 0000 0000 0111 1111127 0111 1111

126 0111 1110

127 0000 0000 0111 1111

126 0000 0000 0111 1110

……3 0000 0011

2 0000 0010

1 0000 0001

3 0000 0000 0000 0011

2 0000 0000 0000 0010

1 0000 0000 0000 00011 0000 0001

0 0000 0000

1 0000 0000 0000 0001

0 0000 0000 0000 0000

문자문자

문자의문자의 표현표현

문자의 표현문자의 표현

코드ASCII 코드초기 컴퓨터 개발이 미국에서 발전.

문자 표현을 정의 하고 표준화 함.

알파벳과 기타 문자를 한 바이트로 정의

컴퓨터가 세계화 되면 다양한 문자 표현 필요UNICODE로 표현

KS-5601한글의 문자를 컴퓨터에서 처리한글의 문자를 컴퓨터에서 처리

조합형 문자 코드

ASCII 코드와 CPU내의 처리ASCII 코드와 CPU내의 처리

보통 문자는 여러 문자(string)을 처리 하는 경우가 많음.경우가

메모리에 순차적으로 문자를 배열하여 처리리

어셈블러ASCTBL: DB '0123456789ABCDEF‘

DB 00H

C

printf(“Hello!₩n”);p ( )

String의 표현String의 표현

•C char *pmsg = “홍길동”;char *pmsg = “Hello”;printf(“Hello”);

•AssemblyMsgH : DB ‘Hello’

char pmsg 홍길동 ;printf(“홍길동”);

“Hello”“홍길동”

‘H’ ‘e’ ‘l’ ‘l’ ‘o’ 0x00

0x48 0x65 0x6C 0x6C 0x6F 0x00

“홍” “길” “동” 0x00

0xC8 0xAB 0xB1 0x6C 0xB5 0x000xBF

“104” 홍 : 0xC8AB104

‘1’ ‘0’ ‘4’ 0x00길 : 0xB1E6동 : 0xB5BF

0x31 0x30 0x34 0x00 0xXX 0xXX

2진수 계산 연습2진수 계산 연습

• 1. 예 1h i 1 i 2 tchar inum1, inum2, ret;

void main(){

inum1 = 5;inum1 5;inum2 = -8;ret = inum1+inum2;

}이 때 t을 계산하는 과정을 2진법으로 바꾸어 계산 하라이 때 ret을 계산하는 과정을 2진법으로 바꾸어 계산 하라. 계산 과정을 모두 표시하고 계산값을 10진수의 계산 결과와 같은 지를 생각한다.

• 2. 예 22. 예 2int inum1, inum2, ret;

inum1 = 53;i 2 6;inum2 = -6;ret = inum1+inum2;

위와 같은 과정으로 2진수 계산을 하여 ret값을 구하라.

• 3. 예 3정수형 두수를 각자 원하는 값을 설정하여 계산 하라. 5가지 이상을 계산 하라.