-8을 4비트의 2의 보수로 표현해야되는데 모르는점이 있어서 질문합니다.
-8은 4비트로 어떻게 나타내야하나요? 8을 2진수로 나타내면 1000인데 여기에 +-가 붙게되면 5비트로 넘어가지 않나요? 어떻게 표현해야되는질 모르겠습니다.
좋은 질문입니다. 생각을 마저 더 해봅시다.
1. 4비트 2의 보수 1000은 어떤 수에 대응되어야 할까요? 2. 4비트 2의 보수로 표기 가능한 정수의 범위는 어디부터 어디일까요?
1. 1000 2. 0000 : +-0 0001 : 1 <=> 1111 : -1 0010 : 2 <=> 1110 : -2 0011 : 3 <=> 1101 : -3 0100 : 4 <=> 1100 : -4 0101 : 5 <=> 1011 : -5 0110 : 6 <=> 1010 : -6 0111 : 7 <=> 1001 : -7 1000 : 8 <=> 1000 : -8 (?)
1000 이 두가지를 표현하네요
그래서 4비트로는 8은 표현 못하고 7까지만 표현 가능하죠. -8에서 7까지 총 16가지
좋은 하루 되세요!
가만히 생각해보면, 1001도 두 가지를 표현한다고 볼 수 있습니다. 9와 -7.
그리고 조금 더 생각해보면 모든 4비트 비트열이 무한히 많은 정수를 대표하고 있다고 볼 수 있죠.
저 학부 때 교수님께서는 이 부분을 가르치시면서 Z/nZ의 대수학적인 측면(commutative ring)을 꽤 오랜 시간을 들여 다루셨는데, 관심 있어 하는 학생은 그리 많지 않았던 것 같네요. :)
각설하고, 따라서 1000을 8 혹은 -8 중 어느 쪽으로 해석할지는 거의 전적으로 편의에 의한 것입니다.
보통은 -8로 해석합니다. 왜 그럴까요? 생각해보세요.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
좋은 질문입니다. 생각을 마저 더 해봅시다.
좋은 질문입니다. 생각을 마저 더 해봅시다.
1. 4비트 2의 보수 1000은 어떤 수에 대응되어야 할까요?
2. 4비트 2의 보수로 표기 가능한 정수의 범위는 어디부터 어디일까요?
1. 1000
1. 1000
2.
0000 : +-0
0001 : 1 <=> 1111 : -1
0010 : 2 <=> 1110 : -2
0011 : 3 <=> 1101 : -3
0100 : 4 <=> 1100 : -4
0101 : 5 <=> 1011 : -5
0110 : 6 <=> 1010 : -6
0111 : 7 <=> 1001 : -7
1000 : 8 <=> 1000 : -8 (?)
1000 이 두가지를 표현하네요
그래서 4비트로는 8은 표현 못하고 7까지만 표현
그래서 4비트로는 8은 표현 못하고 7까지만 표현 가능하죠. -8에서 7까지 총 16가지
좋은 하루 되세요!
가만히 생각해보면, 1001도 두 가지를 표현한다고
가만히 생각해보면, 1001도 두 가지를 표현한다고 볼 수 있습니다. 9와 -7.
그리고 조금 더 생각해보면 모든 4비트 비트열이 무한히 많은 정수를 대표하고 있다고 볼 수 있죠.
저 학부 때 교수님께서는 이 부분을 가르치시면서 Z/nZ의 대수학적인 측면(commutative ring)을 꽤 오랜 시간을 들여 다루셨는데, 관심 있어 하는 학생은 그리 많지 않았던 것 같네요. :)
각설하고, 따라서 1000을 8 혹은 -8 중 어느 쪽으로 해석할지는 거의 전적으로 편의에 의한 것입니다.
보통은 -8로 해석합니다. 왜 그럴까요? 생각해보세요.
댓글 달기