티스토리 뷰
2진수 : 0, 1, 부호 및 소수점으로 표현
-13.62510 = -1101.1012
부호 없는 정수 표현의 예
00111001 = 57
00000000 = 0
00000001 = 1
10000000 = 128
11111111 = n-비트 2진수를 부호 없는 정수 A로 변환하는 방법
A = an-1 × 2n-1 + an-2 × 2n-2 + ... + a1 × 21 + a0 × 20
소수와 음수의 표현
최상위 비트인 an-1의 좌측에 소수점이 있는 소수의 10진수 변환방법
A = an-1 × 2-1 + an-2 × 2-2 + ... + a1 × 2-(n-1) + a0 × 2-n
23 22 21 20 2-1 2-2 2-3
1 1 0 1 . 1 0 1
= 1×23 + 1×22 + 0×21 + 1×20 + 1×2-1 + 0×2-2 + 1×2-3
= 8 + 4 + 1 + 0.5 + 0.125 = 13.625
음수 표현 방법
부호화-크기 표현(signed-magnitude representation)
1의 보수 표현(1's complement representation)
2의 보수 표현(2's complement representation)
부호화-크기 표현
맨좌측 비트는 부호 비트, 나머지 n-1 개의 비트들은 수의 크기(magnitude)를 나타내는 표현 방식
[예] + 9 = 0 0001001 + 35 = 0 0100011
- 9 = 1 0001001 - 35 = 1 0100011
부호화-크기로 표현된 2진수(an-1 an-2 ... a1 a0)를 10진수로 변환
A = (-1)an-1 (an-2 × 2n-2 + an-3 × 2n-3 + ... + a1 × 21 + a0 × 20)
0 0100011 = (-1)0(0×26+1×25+0×24+0×23+0×22+1×21+1×20)
= (32 + 2 + 1) = 35
1 0001001 = (-1)1(0×26+0×25+0×24+1×23+0×22+0×21+1×20)
= - (8 + 1) = - 9
결점
덧셈과 뺄셈을 수행하기 위해서는 부호비트와 크기 부분을 별도로 처리
0 표현이 두 개 존재 n-비트 단어로 표현할 수 있는 수들이 2n 개가 아닌, (2n - 1)개로 감소
0 0000000 = + 0
1 0000000 = - 0
보수 표현
1의 보수(1's complement) 표현
모든 비트들을 반전 (0 1, 1 0)
2의 보수(2's complement) 표현
모든 비트들을 반전하고, 결과값에 1을 더한다
[예]
+ 9 = 0 0001001 + 35 = 0 0100011
- 9 = 1 1110110 (1의 보수) - 35 = 1 1011100 (1의 보수)
- 9 = 1 1110111 (2의 보수) - 35 = 1 1011101 (2의 보수)
8-비트 보수로 표현된 정수들
8-비트 2진수로 표현할 수 있는 10진수의 범위
1의 보수 : - (27 - 1) ∼ + (27 - 1)
2의 보수 : - 27 ∼ + (27 - 1)

2의 보수 -> 10진수 변환
2의 보수로 표현된 양수(an-1 = 0)를 10진수로 변환하는 방법
A = an-2 × 2n-2 + an-3 × 2n-3 + ... a1 ×21 + a0 ×20
2의 보수로 표현된 음수(an-1 = 1)를 10진수로 변환하는 방법
A = - 2n-1 + (an-2×2n-2+ an-3×2n-3+… a1×21+ a0×20 )
[예] 10101110 = - 128 + (1 × 25 + 1 × 23 + 1 × 22 + 1 × 21)
= - 128 + (32 + 8 + 4 + 2) = - 82
[다른 방법] 10101110 01010010 으로 먼저 변환한 후,
01010010 = - (1 × 26 + 1 × 24 + 1 × 21)
= - (64 + 16 + 2) = - 82
https://jtstory.tistory.com/151
https://jtstory.tistory.com/151
비트 확장 (Bit Extension)
데이터의 길이(비트 수)를 늘리는 방법
목적: 데이터를 더 많은 비트의 레지스터에 저장하거나 더 긴 데이터와의 연산 수행
[예] 8-비트 데이터를 16-비트 데이터로 확장
부호화-크기 표현의 경우 : 부호 비트를 맨좌측 위치로 이동시키고, 그 외의 비트들은 0으로 채운다
+21 = 00010101 (부호화-크기, 8 비트)
+21 = 0000000000010101 (부호화-크기, 16 비트)
-21 = 10010101 (부호화-크기, 8 비트)
-21 = 1000000000010101 (부호화-크기, 16 비트)
2의 보수 표현의 경우 : 확장되는 상위 비트들을 부호 비트와 같은 값으로 세트 = 부호 비트 확장(sign-bit extension)
+21 = 00010101 (2의 보수, 8 비트)
+21 = 0000000000010101 (2의 보수, 16 비트)
-21 = 11101011 (2의 보수, 8 비트)
-21 = 1111111111101011 (2의 보수, 16 비트)
- Total
- Today
- Yesterday
- 오늘의사건
- 영화소개
- #취업준비
- 오늘의이슈
- 실시간검색어
- #지역인재9급
- 외국영화
- #공무원인강
- 옛날영화
- #9급공무원
- #고졸공무원
- #지방자치단체인터넷원서접수센터
- #공시생
- #7급공무원
- 박스오피스
- 실검
- #공무원시험일정
- #공무원시험과목
- #tv8
- #공무원준비
- 한국영화
- 영화
- 영화추천
- #2025공무원시험
- 영화순위
- #공무원시험
- Movie
- #사이버국가고시센터
- 추천영화
- #공무원응시자격
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |