컴퓨터공학개론 4 장수체계와데이터표현
학습목표 수체계를이해하는것이왜중요한지배운다. 수의거듭제곱에대해복습한다. 사물을세는데수체계가어떻게사용되는지배운다. 수체계에서자리값의중요성에대해배운다. 수체계에서사용되는여러진수사이의차이점과유사점에대해배운다. 2
학습목표 ( 계속 ) 진수사이에수를변환하는방법에대해배운다. 이진법및십육진법을사용하는수학의계산법을배운다. 컴퓨터에서이진수를사용하여데이터를표현하는방법에대해배운다. 컴퓨터에서이미지와사운드를저장하는방법에대해배운다. 3
수체계를배워야하는이유 컴퓨터프로그램과데이터는이진수로저장된다. 이진수를이해하는것은컴퓨터와친해지는데열쇠가된다. 이진법이시작점이된다. 십육진법 편리한표현을제공한다. 오류메시지로쓰여진다. 4
수의거듭제곱 - 복습 양의거듭제곱 ( 지수 ) 거듭제곱지시자가가리키는횟수만큼그숫자자신을곱함 예 : 2 3 = 2 * 2 * 2 = 8 ( 별표 = 곱셈 ) 특별한경우 : 지수가 0 과 1 일때 어떤숫자든지 0 을거듭제곱하면 1 이된다. 예 ) 10,5550 = 1. 어떤숫자든지 1 을거듭제곱하면그자신이된다. 예 ) 10,5551 = 10,555 5
수의거듭제곱 ( 계속 ) 음의거듭제곱 양의거듭제곱과동일하게계산을한다 1을계산된결과로나누어준다 예 ) 2-3 = 1/ (2 3 ) =.125 6
사물의개수세기 수는사물을세는데사용된다. 대부분진수가 10 인수 ( 십진수 ) 에익숙해있다. 컴퓨터는이진수라는, 진수가 2 인수를사용한다. 이진수는두개의숫자만을가진다 : 0 과 1 7
사물의개수세기 ( 계속 ) 16 진법은이진수를표현할때사용된다. 16 진수는 16 개의숫자를가진다. 0 9, A - F 사물을세는방식은모든수체계가유사하다. 수체계에서정의된숫자들을다쓸때까지사물을센다. 1 의자리에 0 을놓고, 1 은왼쪽으로이동시킨다. 8
자리값 수에서각자리가가지고있는수치값 수에서 10 자리를올리는것이각숫자의자리값을결정한다. 숫자의가중치 (contribution) 는자리값과숫자를곱함으로써총수를결정한다. 3456.123 에서 5 를살펴보면 ( 기수점 = 10 = 십진수 ) 자리값 = 10 1 총가중치 = 5 x 10 1 = 50 9
10
자리값 ( 계속 ) 수 : 각각의숫자와자리값의계산결과의합 예 : 3456.123 = 3 x 10 3 + 4 x 10 2 + 5 x 10 1 + 6 x 10 0 + 1 x 10-1 + 2 x 10-2 + 3 x 10-3 모든진법에서수는자리에의해서정의될수있다. 2 진수 : 각숫자에숫자자리만큼 2 를거듭제곱한값을곱한다 16 진수 : 각숫자에숫자자리만큼 16 을거듭제곱한값을곱한다 b 진수 : 각숫자에숫자자리만큼 b 을거듭제곱한값을곱한다 11
12
수가표현하는사물의개수 수 = 각숫자 * 자리값의합 사물의개수를 10 진수에맞도록변환한다. 예 ) 1001 2 는 9 개의사물을나타내며 (1 * 2 0 ) + (0 * 2 1 ) + (0 * 2 2 ) + (1 * 2 3 ) 을계산하여구한다. 수를계산하는일반적순서 ( 모든진법 ) 진수값을자리수만큼거듭제곱해서수의각자리에대한값을계산한다. 자리값과그자리에있는숫자를곱한다. 계산된값을모두더한다 13
진수사이의변환 어떤양 (quantity) 이라도모든진법에서수에표현될수있다. 모든진법에서사물을세는과정은동일하다. 진수에서가장높은숫자에이를때까지수를센다. 왼쪽의더높은자리에 1 을더한다. 작업하던자리에는자리에는 0 을반환한다. 한진수에서다른진수로변환하는것은하나의함수이다. 항등식은쉽게계산될수있다. 표를살펴봄으로써항등식을얻을수도있다. 14
표 4-1 다양한진수에서사물을세는방법 15
10 진수로의변환 3 가지방법 표에서찾는다. ( 표 4-1 보다더확장된 ) 계산기 어떤진수에서든수를구할수있는알고리즘 예 : 16 진법 169AE 진수식별 : 16 진수 각숫자의자리 : 4 3 2 1 0 각자리숫자를자리값으로곱하고, 결과를더한다. 169AE = (1 x 16 4 ) + (6 x 16 3 ) + (9 x 16 2 ) + (10 x 16 1 ) + (14 x 16 0 ) = 92,590 16
10 진수로부터다른진수로변환 3 가지방법 표에서찾는다. ( 표 4-1 보다더확장된 ) 계산기 진수 10 으로부터다른진수로변환하는알고리즘 1. 십진수를여러분이변환하고자하는진수의수로나눈다. ( 예 : 2 나 16) 2. 나머지를써준다. 3. 이전나눗셈의결과를진수로다시나눈다. 4. 이전에쓴나머지의왼쪽으로나머지를써준다. 5. 이전나눗셈의결과가 0 이될때까지단계 3 과단계 4 를반복한다. 17
10 진수로부터다른진수로변환 ( 계속 ) 변환알고리즘연습 : 10 진수 45 를 16 진수로 45 를 16 으로나눈다. 나머지 D 를써준다. 2 를 16 으로나눈다. D 왼쪽에나머지 2 를써준다. 몫이 0 이될때까지반복한다. 확인 : 2D = (2 x 16 1 ) + (13 x 16 0 ) = 32 + 13 = 45 18
이진및십육진수학 모든진수에서수를더하는순서는유사하다. 올림방식에차이가있다. 올림수 = 진수값 예 : 1011 + 1101 11000 올림수 = 10 2 = (1 x 10 1 + 0 x 10 0 ) = 2 10 뺄셈, 곱셈, 나눗셈의방법도이와동일하다. 19
그림 4-4 진수가 2 인수의뺄셈 20
이진데이터표현 이진값은트랜지스터의두개의상태를나타낸다. 비트 : 기본적인논리적 / 물리적단위 (1/0 = on/off) 바이트 : 비트의 8 개묶음 ( 니블 = ½ 바이트 ) 워드 : 바이트의묶음 (4 바이트가대표적이다.) 십육진수는이진수의짧은표현에사용된다. 각각의십육진수는 4- 비트이진패턴과직접연관된다. 예 : 1111 1010 1100 1110 = F A C E ( 표 4-1 참조 ) 21
정수표현 정수는고정된개수의비트로저장된다. 200410 는 16- 비트정수 0000011111010100 부호있는수는 2 의보수방법으로저장된다. 가장왼쪽비트가부호를나타낸다. (1 = 음수, 0 = 양수 ) 양수의경우, 고정길이를갖는필드의왼쪽에 0 을넣어준다. 음수의경우, 2 의보수를실행한다. 비트를반전시킨다. 이진수덧셈을사용해서전체수에 1 을더한다. 22
그림 4-5 8 비트필드에서 2 의보수로수를저장하는방법 23
분수표현 컴퓨터는분수를저장한다. ( 음, 양의분수 ) 저장기술은부동소수점을이용한다. 부동소수점을사용한수의예 ) 1.345 E+5 1.345 = 가수, E = 지수, +5 = 5 자리이동 IEEE-754 규격에는이진가수와지수를사용한다. 구현은더진보된연구의부분을기술한다. 24
문자표현 컴퓨터는표준문자를저장한다. ASCII 7 비트패턴으로문자를표현 영문대문자, 소문자, 숫자, 구두점, 특수문자등이포함된다. 128 (2 7 ) 개의서로다른문자를가진다. 세계화로인한확장의필요성이나타남. 확장 ASCII: 8 비트패턴사용 ( 총 256 개 ) 유니코드 (Unicode): 16 비트패턴사용 ( 총 34,168 개 ) 25
이미지표현 스크린이미지는색상있는빛의작은점으로이루어져있다. 이러한각각의점을 픽셀 (pixel : picture element) 이라고부르며, 이것은가장작은단위이다. 해상도 : 각각의행과열에있는픽셀수 각각의픽셀은이진패턴으로컴퓨터에저장된다. RGB 인코딩 (encoding ) 빨강, 파랑, 초록이 24 비트중 8 비트로지정한다. 흰색은모든비트가 1 일때, 검은색은모든비트가 0 일때이다. 8 비트섹션의각각이지정하는빨강, 초록, 파랑의양에따라색상이결정된다. 26
이미지표현 ( 계속 ) 사진과같은이미지도픽셀기반방법으로저장된다. 큰이미지파일은압축할수있다. (JPG, GIF 포맷 ) 동영상도마찬가지로압축가능하다. (MPEG, MOV, WMV) 27
사운드표현 사운드는다음을가지는파형 (waveform) 으로구성된다. 진폭 (Amplitude, volume) 주파수 (Frequency, pitch) 컴퓨터는고정된간격으로사운드를샘플링한다. 각각의진폭에따른이진값을할당해서샘플링한다. 각각의샘플에대한비트의개수는얼마나많은진폭레벨이표현되어야하느냐에따라결정된다. CD 음질의오디오를얻기위해서는 1 초에 44,000 번이상의샘플링이이루어져야한다. 각각의샘플은 65,000 개이상의진폭을얻어야한다. 28
그림 4-6 사운드파동의디지털샘플링 29
맺는말 이진코드는기계어이다. 2 진수와 16 진수에대한이해는기계어를이해하는데필수적이다. 컴퓨터과학자들은이진수와 16 진수개념을가지고있기때문에더욱유능하다. 30
요약 대체수체계에대한이해는필수적이다. 기계어는 2 진수체계를사용한다. 16 진법은 2 진수를표현하는데사용된다. 수의거듭제곱은지수개수만큼곱해주는것으로계산된다. 모든수는임의의진법에의해서표현될수있다. 자리값 : 숫자의위치를이용하는가중치 사물을세는과정은모든수체계에서유사하다. 31
요약 ( 계속 ) 각진수사이의변환은일대일로대응한다. 모든수체계에서연산이가능하다. 데이터표현 : 비트, 니들, 바이트, 워드 2 의보수 : 부호있는수를저장하는방법 부동소수점 : 분수와무리수를표현하는데사용 ASCII 와유니코드 : 표준문자집합 이미지표현 : 이진픽셀이용 사운드표현 : 진폭샘플링이용 32