<4D F736F F F696E74202D20322EB3EDB8AEC7A5C7F6B0FA20B3EDB8AEBCF6C7D02E >

Similar documents
비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

4장 논리 게이트

Microsoft PowerPoint - Chapter_04.pptx

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1

OCW_C언어 기초

PowerPoint Presentation

[8051] 강의자료.PDF

Microsoft PowerPoint - es-arduino-lecture-03

실험 5

Microsoft Word - PLC제어응용-2차시.doc

PowerPoint Presentation

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

슬라이드 1

가. 도트매트릭스제어하기 단일 LED와는다르게도트매트릭스를구동시는구동전류가프로세서에서출력되는전류보다사용량을더많이필요하기때문에 TTL 계열의 IC로구동시키기에는무리가따른다. 이러한문제를해결하기위해서사용전압, 전류정격이높은달링턴트랜지스터가어레이형태로들어있는 ULN2803을

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

PowerPoint Presentation

Microsoft PowerPoint - chap06-2pointer.ppt

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint - chap03-변수와데이터형.pptx

1) 8 진수를 10 진수로변환 - 진수에자릿수에서 1 을뺀숫자를지수로한후해당숫자와곱해주는방식으로 10 진수로변환 2) 2 진수를 10 진수로변환 - 10 진수의숫자를해당진수로계속나누어나머지들을역순으로읽음. - 분수나소수인경우에는곱셈의방법으로구할수있음. 3) 10 진수

슬라이드 1

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

Microsoft PowerPoint - 2장 변수와 자료형 pptx

논리회로설계 3 장 성공회대학교 IT 융합학부 1

Microsoft PowerPoint - ch07 - 포인터 pm0415

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

01. Start JAVA!

PowerPoint Presentation

JAVA PROGRAMMING 실습 02. 표준 입출력

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

lecture4(6.범용IO).hwp

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

PowerPoint 프레젠테이션

API 매뉴얼

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

Microsoft PowerPoint - hw8.ppt [호환 모드]

PowerPoint 프레젠테이션

강의 개요

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

8장 조합논리 회로의 응용

PowerPoint 프레젠테이션

금오공대 컴퓨터공학전공 강의자료

(1) 주소지정방식 Address Mode 메모리접근 분기주소 명령어 직접번지 Reg. 지정 Reg. 간접 Base Index 간접 Immediate 상대번지 절대번지 Long 주소 Reg. 간접 Byte Access Bit Access 내부 Data M

KNK_C_05_Pointers_Arrays_structures_summary_v02

ATmega128

본 강의에 들어가기 전

중간고사

Microsoft PowerPoint - 부호기와 복호기.PPT

11장 포인터

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft Word - 제6장 Beyond Simple Logic Gate.doc

제목을 입력하십시오

PowerPoint 프레젠테이션

untitled

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

설계란 무엇인가?

BMP 파일 처리

Microsoft PowerPoint - Lesson2.pptx

C 프로그래밊 개요

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

MODBUS SERVO DRIVER( FDA7000 Series ) STANDARD PROTOCOL (Ver 1.00) 1

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

-. Data Field 의, 개수, data 등으로구성되며, 각 에따라구성이달라집니다. -. Data 모든 의 data는 2byte로구성됩니다. Data Type는 Integer, Float형에따라다르게처리됩니다. ( 부호가없는 data 0~65535 까지부호가있는

전자회로 실험

歯03-ICFamily.PDF

PowerPoint 프레젠테이션

버퍼오버플로우-왕기초편 3.c언어에서버퍼사용하기 버퍼는 임시기억공간 이라는포괄적인개념이기때문에여러곳에존재할수있습니다. 즉, CPU 에도버퍼가존재할수있으며, 하드디스크에도존재할수있고, CD- ROM 이나프린터에도존재할수있습니다. 그리고앞의예제에서보신바와같이일반프로그램에도

윤성우의 열혈 TCP/IP 소켓 프로그래밊


Introduction to Computer Science

Microsoft PowerPoint - [2009] 02.pptx

<B1E2BCFAB9AEBCAD5FB9DABAB4B1D45F F F64746F72732E687770>

PowerPoint 프레젠테이션

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

Microsoft PowerPoint - hy2-12.pptx

Computer Architecture

Microsoft PowerPoint - polling.pptx

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

C 언어 프로그래밊 과제 풀이

Microsoft Word - Reverse Engineering Code with IDA Pro-2-1.doc

프로그램의실행화면 주석 (comment) 두수의합 : 300 /* 두개의숫자의합을계산하는프로그램 */ 주석은코드를설명하는글입니다. 주석 3 가지방법의주석 주석의예 /* 한줄로된주석 */ /* 저자 : 홍길동날짜 : 2013.

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - c2.ppt

금오공대 컴퓨터공학전공 강의자료

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

11장 포인터

Transcription:

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

숫자와문자의표현방식 숫자의표현 2 진수보수체계 정수형 Floating Point - 실수형 ASCII 코드 미국의컴퓨터문자표현 ( 1 바이트 ) KS-5601 한국어지원을위한완성형표준안 (2 바이트가한글자 ) UNICODE 다국어지원을위한표현 (2 바이트 )

진수 2 진수 : 0 과 1 로두가지상태로표현 CPU 의내부의디지털회로에의해처리 8 진수 : 0~7 로표현 10 진수 : 인간의대표적숫자표현 16진수 : 4비트를한자리로표현 0~15 까지를 0,1,2,, 9,A,B,C,D,E,F 로표현 기계어및 C 의숫자표현에많이사용한다. 어셈블리 1BH, 0FEH 등으로 C 에서는 0x1b, 0xFE 등으로사용

2 진수 한비트는디지털회로에서 0 과 1 로표현 여러비트의자릿수로표현 2 진수 자릿수의값 0 1 1 0 3 2 1 0 2 2 2 2 8 4 2 1 8x0+4x1+2x1+1x0 => 4+2 => 6 마지막비트는 2 로나눗나머지값이다.

10 진수 인간이일상적으로사용하는수 10 진수 5 0 4 3 3 2 1 0 자릿수의값 10 10 10 10 1000 100 10 1 10 진수 1000x5+1000x0+100x4+1x3 => 5043 마지막자리는 10으로나눗나머지값이다. 5043 / 10 => 몫 504, 나머지 3

16 진수 2 진수 4비트를 16 진수한자리로표현 16진수자릿수의값 3 0 E A 3 2 1 0 16 16 16 16 4096 256 16 1 A 1010 10 B 1011 11 C 1100 12 D 1101 13 E 1110 14 F 1111 15 10 진수 4096x3+256x0+16x14+1x10 => 30352 마지막자리는 16 으로나눗나머지값이다. 30352 / 16 => 몫 1576, 나머지 10 (=A)

2 진수의표현 전자의디지털공학은 2 진수의표현을사용 논리 1과 0은 2진수상태를전압으로표시 초기의논리는 전압을기준으로표현 1 = -> 3.3V 0 = 0V -> >0V 3.3V 로바뀌는추세 동작속도및전력감소효과 전압은점점낮아지는추세이나디지털회로를구성하는소자의특성에따라한계가있다. 디지털회로로구성되어칩은정해진전압에의해구동되며회로설계시동작전압을확인해야한다.

논리의부울대수 AND : 논리 and 입력모두 1일때출력1 OR : 논리 or 하나라도 1입력이면 1출력 NOT : 논리 not 입력의반대출력 XOR : 논리 XOR 2 입력이다르면 1 출력 AND OR NOT XOR A B Y A B Y A Y A B Y 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0 exclusive OR

논리기호 기본논리 A B Y=A.B A B Y=A.B A B Y=A+B A B Y=A+B A Y = A A B Y=A B =AB+AB A B Y=A B

전자회로구현-TTL 74LS00(NAND) A Y = A & B = not (A and B) Y B R 100 오옴 논리처리 토템폴출력 A B 논리처리 A&B 1 = 4.xV 0 = 0.2V

논리회로의선연결 4.7K Vcc 4.7K

논리의전자적표현 ( 개념모델 ) 출력부 입력 입력처리로직 S1 switch S2 switch 1 = 0 = 0V Z = 플로팅상태 ( 어떤전압상태도아님 ) 0V GND

로직구현 논리의표현

전압과전류 V = IR 오옴의법칙 디지털회로는표현에서전압은고정하고전류변화 전류는회로의구성에따라자동으로결정된다. 디지털회로의구현은위의법칙에따라 TR, FET 등으로구성한다.

논리 1 출력 로직내부 ( 칩 ) 전류 S1 = ON 입력 입력처리및스위치제어 1 = S2 = OFF 0V GND

논리회로에서전류 1 0 1 전류 =0 47K 4.7K 1 0 1 Vcc 4.7K ON OFF ON ON 0=0.2V OFF ON OFF OFF 1=4.xV 전류 = 출력에따라 OFF OFF ON OFF ON

논리회로에서전류 2 4.7K 1 0 47K 4.7K 0 1 전류 Vcc Vcc 4.7K 4.7K OFF ON OFF OFF 0=0.2V ON OFF ON ON 1=4.xV 전류 = 출력에따라 ON OFF OFF ON OFF

논리 0 출력 S1 = OFF 입력 입력처리및스위치제어 전류 0 = 0V S2 = ON 0V GND

논리 1 입력 출력 입력 입력 전류 S1 = ON S1 = OFF 입력 NOT 동작예 전류 0 = 0V S2 = OFF S2 = ON 0V GND 0V GND

논리회로의선연결 4.7K Vcc 4.7K

논리 0 입력 전류 S1 = OFF 0 = 0V 전류 S2 = ON NOT 게이트동작예 입력 S1 = ON S2 = OFF 0V GND 0V GND

논리 Z Floating Point OE A OE Y=A, OE=1 Y=Z, OE=0 입력 OE 입력처리및스위치제어 S1 = OFF A 전류 = 0 어느전압 Y=A, OE=1 Y=Z, OE=0 S1 = OFF 0V GND

논리의전자적표현- 한개의 SW 칩내부 입력 입력처리 S1 switch 1 = 로유지 0 = 0V Z = 불가능 0V GND

논리 1 Open Collector 칩내부 전류 R 저항 4.7K 10K 입력 입력처리및스위치제어 1 = S1 = OFF 0V GND

논리 0 Open Collector 칩내부 전류 1 R 저항 4.7K 10K 입력 입력처리및스위치제어 S1 = ON 전류 2 0 = 0V 0V GND

Open Collector 예 A B C Y

오픈컬렉터와토템폴출력 오픈컬렉터 -출력쪽에풀업저항을사용 -TTL의내부에서보면 TR의에미터가내부풀업이없는상태 : IC의출력핀에연결 -외부에서이에미터 (IC의출력핀 ) 에전원을공급 -출력을다른전압으로구동가능 ( 예 ) 12V로풀업가능, 전압은 IC마다다름 -쓰임새는 wired-or로사용 ( 오픈콜렉터출력끼리는서로직접연결 ) 두개의출력이하나는 " 로우, 하나는 " 하이 " 이더라도쇼트되지않음 토템폴출력 -토템풀: 북아메리카인디언들의조상의혼을기리는상징물로서두개이상의비슷한조각상이하나의기둥 (Pole) 에세겨진것을말함 -일반적 TTL(7404) 의출력이 TR이출력핀을중심으로상하고두개겹쳐진모양 -출력에 Pull-up 저항이없이동작 - 절대로출력을출력끼리접속해서는안됨 : 두개출력의논리가반대일때, 내부출력스위칭 TR은전원에대해쇼트와같이되어큰전류로출력 TR이파괴

토템폴출력의문제 출력끼리연결 출력을두개묶으면논리가반대로출력되면과전류가흐른다. 전류 1 A Y A S1=ON 1 = B Y S2=OFF 전류 2 B S1 = OFF 0 = 0V S2 = ON 전류

출력끼리연결사용예 출력을두개묶고한출력은 Z 으로설정하고나머지에서출력으로사용 CA CA A 전류 1 S1=OFF Z = open A B CB Y Y S2=OFF 전류 2 CB B S1 = OFF 0 = 0V S2 = ON

출력끼리연결사용예 - 충돌 출력을두개묶고한출력은 Z 으로설정하고나머지에서출력으로사용 CA CA A S1=ON 전류 1 1 = A B CB Y Y S2=OFF 전류 2 CB B S1 = OFF 0 = 0V S2 = ON

로직구현 FET을사용한논리구현

FET(CMOS) 을사용할경우 A B 논리처리 p-channel n-channel 1 = 4.xV 0 = 0V

FET(CMOS) NOT 게이트 (gate) A Y = A p-channel Vin Vout 1 = 4.xV 0 = 0V n-channel

CMOS NOT 게이트 (gate) A B C X Y 구간 X 의전압과전류 tda= 수 nsec 지연 A 0 1 0 A=0V 입력신호 1=4.xV B C 0 = 0.xV B C 1 0 1 0 1 0 tdb

CMOS NOT 게이트 (gate) A B C X Y 구간 Y 의전압과전류 tda= 수 nsec 지연 A 0 1 0 A= 입력신호 0 = 0.xV B C 1=4.xV B 1 0 1 C 0 1 0 tdb

TTL 과 CMOS 신호전압

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

논리표현 비트와바이트

CPU 의데이터처리단위 Bit : 한상태를나타내는최소의단위. Byte : 한문자를나타내는최소의단위 ( 8 Bit). Word : 한단어를나타내는최소의단위. (CPU의비트수와연관 ) 소형 CPU : 2 Byte = 16bit 대형CPU : 4 Byte = 32bit 1bit : 어느한상태를나타냄. (1) ON (0) OFF 1byte = 8 Bit : 256 가지상태를나타냄. 0 1 0 1 1 0 0 1

1byte 단위처리예 - 8051 데이터버스 25 명령어해석 02 Oprand 버퍼 8 비트단위로저장 A = 0... B... FLAG 설정 00 02 ALU 8 비트단위로계산 02

1byte 단위처리예 - 메모리 메모리는 1, 8, 16, 32 단위로엑세스할수있음 칩을만들때처리단위는결정되어있다. 주소 7 6 5 4 3 2 1 0 0000 0001 0002 0003 0004 0005 8 단위의칩... 7FFF

1byte 단위메모리읽기 8 비트단위칩은한번무조건 8 비트단위로엑세스 A2 A1 A0 0 0 1 주소 7 6 5 4 3 2 1 0 0 1 2 3 4 5 D7 D6 D5 D4 D3 D2 D1 D0 6 7 MUX

1byte 단위메모리 - 바이트단위만 특정 1 비트만은처리가불가능 주소 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 A2 A1 A0 0 0 1 MUX

1byte 단위메모리쓰기 8 비트단위칩은한번무조건 8 비트단위로엑세스 정해진비트수단위로만처리 7 6 5 4 3 2 1 0 주소 0 1 2 3 4 5 6 7 A2 A1 A0 0 0 1 저장신호발생

메모리의필요한신호선-SRAM 8x8bit=64bit 메모리 A2 A1 A0 CS RD/WR D7 D6 D5 D4 D3 D2 D1 D0 Vcc GND Vcc GND 전원

숫자와논리계산 숫자의표현

숫자의표현과프로그램 정수는 8 비트단위의계산을한다. C int는몇개의레지스터를묶어 16비트로표현한다. 레지스터사용방식은컴파일러마다틀림 숫자의계산은레지스터값이 ALU 통해계산한다. 실수형자료 (Floating Point) 32 비트를처리를위해 2 바이트의변수를사용한다. 내부적으로실수계산을불가능하기때문에별도의함수로처리

C 에서의숫자표현 C 에서 21016 2,10,16 진수는개발자의표현에의해컴파일러가 2진수로변환하여사용한다. int cnt16; char cnt8; cnt8 = 0xFE; cnt16 = -2; 0xFE는컴파일러에의해 2진수 1111 1110로표현되어프로그램코드에붙는다. 8051 의예 : ; cnt8 = 0xFE; 74 FE MOV A,0FEH => 01110100 11111110 F5 A0 MOV 0A0H,A => 11110101 10100000 결국위의프로그램은 01110100 11111110 처럼변형되 결국위의프로그램은 01110100 11111110 처럼변형되어 ROM/FLASH 에들어가서프로그램이실행된다.

정수형표현체계 I 2진수의숫자표현법-각 CPU의처리단위에따라비트는다름. 2 의보수체계를사용 정수형계산은 C U 내의 ALU 을이용직 정수형계산은 CPU 내의 ALU 을이용직접계산된다.

10 진수와 2 진수의변화 방법 1 원리 마지막비트는 2로나눈나머지다. 2로나누면전체비트가오른쪽으로한비트 shift 된다. 1. 0111 - 마지막비트 (LSB) 1은 2로나눈나머지값이다. 2. 7 / 2 = 3 -> 나머지 1 3. 3은 7을오른쪽으로 1비트쉬프트한값이다.

2 진수를 10 진수로변환 각자리는 2 의승수 2 진수 0 1 0 0 1 1 0 1 7 6 5 4 3 2 1 0 2 2 2 2 2 2 2 2 128 64 32 16 8 4 2 1 01001101(2 진수 ) = 64+8+4+1 = 77(10 진수 )

2 로나누어나머지얻기 3 2 7 6 1 --- 1 ( LSB) 1 2 3 2 1 --- 1 0 2 1 7 = 111 0 1 ---- 1

2 로나누어나머지얻기 2 2 5 4 1 --- 1 ( LSB) 1 2 2 2 0 --- 0 0 2 1 0 1 ------1 5 = 101

2 로나누어계산 표기법변환 0 2 1 --- 1(MSB) 2 3 --- 1 2 7 --- 1( LSB) 5 = 101

38 => 100110 0 1 2 1 0 38 = 100110 2 2 0 2 4 1 2 9 1 2 19 0 2 38

보수 1의보수 : 각비트값을다른값으로바꾼것. 2의보수 : 2의보수값에 1을더한값. 0010 0110 1 의보수 2 의보수 + 1101 1001 0000 0001 1101 1010

정수의표현 - 2 진수표현 4 비트 8 비트 16 비트 +7 0111 6 0110 3 0011 2 0010 1 0001 0 0000-1 1111-2 1110-3 1101-4 1100-5 1011-8 1000 +127 0111 1111 126 0111 1110 3 0000 0011 2 0000 0010 1 0000 0001 0 0000 0000-1 1111 1111-2 1111 1110-3 1111 1101-4 1111 1100-5 1111 1011-128 1000 0000 +32767 0111 1111 1111 1111 32766 0111 1111 1111 1110 3 0000 0000 0000 0011 2 0000 0000 0000 0010 1 0000 0000 0000 0001 0 0000 0000 0000 0000-1 1111 1111 1111 1111-2 1111 1111 1111 1110-3 1111 1111 1111 1101-4 1111 1111 1111 1100-5 1111 1111 1111 1011-32767 1000 0000 0000 0001-32768 1000 0000 0000 0000

정수형자료의계산 4 비트정수 + 4+3 = 7 4 0100 + 3 0011 7 0111 8 비트정수 + 4+3 = 7 4 0000 0100 + 3 0000 0011 7 0000 0111

정수형자료의계산뺄셈 4 비트정수연산원리 ( 뺄셈 ) ( 예 ) 5-3 = 2 연산순서 1. -3 값의 2 의보수를구한다. +3 : 0011 1의보수 : 1100 1 을더함 : 0001 1101 => -3 2. 연산 5+(-3) 을한다. +5 0101 + (-3) 1101 2 0010 +7 0111 6 0110 5 0101 4 0100 3 0011 2 0010 1 0001 0 0000-1 1111-2 1110-3 1101-4 1100-5 1011-6 1010-7 1001-8 1000

8 비트정수연산 - 뺄셈 ( 예 ) 5-3 = 2 연산순서 1. 3은 +3값의 2의보수를구한다. +3 : 0000 0011 1의보수 : 1111 1100 1을더함 : 0000 0001 1111 1101 => -3 2. 연산 5 + (-3) 을한다. +5 0000 0101 + (-3) 1111 1101 2 10000 0010 +127 0111 1111 126 0111 1110 3 0000 0011 2 0000 0010 1 0000 0001 0 0000 0000-1 1111 1111-2 1111 1110-3 1111 1101-4 1111 1100-5 1111 1011-128 1000 0000

16, 32 비트계산 1. 33 은 +3 값의 2 의보수를구한다. 0000 0000 0000 0011 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 1101 1 0000 0000 0000 0010 => 2 32 비트계산 0000 0000 0000 0000 0000 0000 0000 0101 1111 1111 1111 1111 1111 1111 1111 1101 1 0000 0000 0000 0000 0000 0000 0000 0010

C 언어의숫자표현과 CPU 내의표현 C 의변수는메모리의내용을 CPU 의레지스터로가져와 ALU을이용하여계산. 정수형연산기계어로값을계산 정수형변수 int 는 2 의보수체계를이용 정수형변수 unsigned int는마이너스부분이없어 2 진수체계로계산 정수형변수 int의비트는 CPU마다다름 8비트 CPU : 거의 16비트정수형사용 16/32비트CPU : 거의 32비트정수형사용

C 의 unsigned int 표현 8 비트표현 (C 에서는거의사용안함 ) 16 비트표현 255 1111 1111 254 1111 1110 253 1111 1101 130 1000 0010 129 1000 0001 128 1000 0000 127 0111 1111 126 0111 1110 3 0000 0011 2 0000 0010 1 0000 0001 0 0000 0000 65535 1111 1111 1111 1111 65534 1111 1111 1111 1110 65533 1111 1111 1111 1101 130 0000 0000 1000 0010 129 0000 0000 1000 0001 128 0000 0000 1000 0000 127 0000 0000 0111 1111 126 0000 0000 0111 1110 3 0000 0000 0000 0011 2 0000 0000 0000 0010 1 0000 0000 0000 0001 0 0000 0000 0000 0000

문자 문자의표현

문자의표현 ASCII 코드 초기컴퓨터개발이미국에서발전. 문자표현을정의하고표준화함. 알파벳과기타문자를한바이트로정의 컴퓨터가세계화되면다양한문자표현필요 UNICODE로표현 KS-5601 한글의문자를컴퓨터에서처리 조합형문자코드

ASCII 코드와 CPU 내의처리 보통문자는여러문자 (string) 을처리하는경우가많음. 메모리에순차적으로문자를배열하여처리 어셈블러 ASCTBL: DB '0123456789ABCDEF DB 00H C printf( Hello! n );

String 의표현 C char *pmsg = 홍길동 ; printf( 홍길동 ); char *pmsg = Hello ; printf( Hello ); Assembly MsgH : DB Hello Hello 홍길동 H e l l o 0x00 홍 길 동 0x00 0x48 0x65 0x6C 0x6C 0x6F 0x00 0xC8 0xAB 0xB1 0x6C 0xB5 0xBF 0x00 104 1 0 4 0x00 홍 : 0xC8AB 길 : 0xB1E6 동 : 0xB5BF 0x31 0x30 0x34 0x00 0xXX 0xXX

2 진수계산연습 1. 예 1 char inum1, inum2, ret; void main() { inum1 = 5; inum2 = -8; ret = inum1+inum2; } 이때 ret 을계산하는과정을 2 진법으로바꾸어계산하라. 계산과정을모두표시하고계산값을 10진수의계산결과와같은지를생각한다. 2. 예 2 int inum1, inum2, ret; inum1 = 53; inum2 = -6; ret = inum1+inum2; 위와같은과정으로 2진수계산을하여 ret값을구하라. 3. 예 3 정수형두수를각자원하는값을설정하여계산하라. 5 가지이상을계산하라.