2주차 컴퓨터 연산 및 데이터 표현

Download Report

Transcript 2주차 컴퓨터 연산 및 데이터 표현

생체계측
데이터의 표현과 컴퓨터 연산
Prof. Jae Young Choi (최재영 교수)
생체계측 (2014 Fall)
Prof. Jae Young Choi
컴퓨터에서의 정수 표현
정수 표현하기
 컴퓨터의 기억 공간은 제한적이므로 한 정수를 나타낼 기억 영역도 제한적이다.
시스템에 따라 약간의 차이가 있지만, 대부분 32비트로 정수를 표현
 컴퓨터에서 정수를 표현하는 방법은 2의 보수(2's complement) 표기법
32비트 정수
-5의 2의 보수 표현 과정
2
컴퓨터에서의 정수 표현
음수에 대한 2의 보수 표현
8비트의 2의 보수 표현
[표 2-10] 8비트의 2의 보수표현
[표 2-9] 음수에 대한 2의 보수 표현
표현할 수 있는 수의 범위
2의 보수 표현의 부호 비트
2의 보수 표현의 부호 비트
•
양수의 경우는 최상위 비트가 0이고,
음수의 경우에는 1임
•
2의 보수 표현에서 최상위 비트를 부호
비트라 함, 양수인 경우에는 0이되고
음수인 경우에는 1이 된다
3
 2 n 1 ~ 2 n 1  1
컴퓨터에서의 정수 표현
정수의 덧셈과 뺄셈
 정수의 덧셈
16비트로 정수를 표현한다고 가정
 6+7
[그림 2-30] 6과 7의 덧셈
 6 + (-7)
7
0000000000000111
0은 1로, 1은 0으로 변환
1111111111111000
-7
1111111111111001
1을 더함
4
[그림 2-31] 6과 -7의 덧셈
컴퓨터에서의 정수 표현
정수의 덧셈
 (-6) + 7
 (-6) + (-7)
[그림 2-33] -6과 -7의 덧셈
[그림 2-32] -6과 7의 덧셈
 30000 + 30000
 2 n 1 ~ 2 n 1  1
 32768 ~ 32765
• 10진수 -5536을 얻음, 이는 원하는 결과인 60000이
아님
• 올바른 결과가 나오지 않는 이유는 결과값이
16비트로 표현할 수 있는 최대값인 32767을 넘어섰기
때문
• 이처럼 저장할 영역이 부족해 올바르지 않은 결과가
나오는 현상을 오버플로우(overlfow)라 함
-5536
[그림 2-34] 30000과 30000의 덧셈
5
컴퓨터에서의 정수 표현
정수의 뺄셈
 컴퓨터 내부에서의 뺄셈은 덧셈을 하는 하드웨어인 가산기를 이용
 6-7
 -6 - 7
[그림 2-35] 6과 7의 뺄셈
[그림 2-36] -6과 7의 뺄셈
 -30000 – 30000
 최상위 bit를 넘어가는 자리 올림수 1을 무시하면 5536이 되어 오버플로우 발생
[-30000에서 30000의 뺄셈
6