인프런 커뮤니티 질문&답변
음수를 2진수 표현에서 부호화 절대치로 바꿀 때
작성
·
696
1
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
맨 앞자리 수를 음수일 때 1로 바꾸는게 아니라 반대로 바꾸는건가요??
10 = 0000 1010
-10 = 1000 1010
이렇게 바꾸셨는데 나중에 128 할 때는
128=1000 0000
-128=0000 0000
이렇게 바꾸시더라고요.. 부호화 절대치로 바꿀때요!
저는 음수일 때는 무조건 앞이 1이구나 하고 이해했는데 뒷부분 들으면서 헷갈려서 질문 남깁니다!
퀴즈
컴퓨터의 핵심적인 5가지 기능에 해당하지 않는 것은 무엇일까요?
입력 (Input)
제어 (Control)
분석 (Analysis)
기억 (Storage)
답변 1
1
저도 이 부분이 헷갈려서 몇 번을 봤습니다.ㅋㅋ
혹시 다른 분들께라도 도움이 될까 싶어 답을 달아놓습니다.
부호화 절대치
+10=0000 1010
-10 = 1000 1010 으로 맨 앞자리를 1로 바꾸는 게 맞습니다.
다만, 질문하신 부.절 0000 0000값은 -128의 부.절이 아닌
+128(1000 0000)의 부호화 절대치값입니다.
보통 부.절은 양수에서 음수로 바꿀때 쓰는데
강의 중 선생님께서는 2진연산의 범위를 설명해주시는 과정에서 부호비트 자리가 양수라 1이 0으로 바뀌는 걸 보여주신거라고 생각합니다.
그럼 강의 진행중 -128의 언급은 무엇이냐,
그 부분 화면을 잘 보시면 -128 계산값은 적지 않으시고 기존 +128 값에 밑줄만 그어서 설명하고 넘어가셔서 그렇습니다..ㅜㅜ
기존 0000 0000에 첫 자리를 1로 바꾸면(부.절. 음수니까) 1000 0000이 되는데 이는 곧 128입니다.
8비트 범위는 -127~+127이므로 말이 안 되는 계산입니다.
부.절과 1의보수는 저 계산으로 값이 안 나오지만 2의보수의 경위 -128~+227까지 -128이 나오므로(-0이 없어서 숫자 한 개가 더 늘어남) 2의 보수가 범위가 더 넓다..그냥 그걸 설명해기위한 과정이었을 뿐이라고 생각합니다...
모두 화이팅.. 어렵네요ㅋㅋㅠ





