인프런 커뮤니티 질문&답변

jh009647님의 프로필 이미지
jh009647

작성한 질문수

넓고 얕게 외워서 컴공 전공자 되기

CPU가 곱하고 나누는 방법

해당 강의의 곱셈 부분에 질문이 있습니다!

해결된 질문

작성

·

301

0

안녕하세요 널널한 개발자님! 강의 정말 잘 듣고 있습니다.

해당 강의의 컴퓨터가 곱셈을 하는 법에서 궁금한 점이 있어서 질문 남기게 되었습니다. 8*2로 예를 들자면, 십진수 8을 이진수로 표현하면 1000인데, 여기서 왼쪽으로 한칸 밀면 10000에서 오버플로우 된 부분은 버리면 0000이라 십진수로 표현하면 16이 아닌 0이 되잖습니까? '오버플로우는 버린다'의 기준이 어떻게 되는지, 곱셈에서도 오버플로우는 버리는 게 맞는 건지가 헷갈립니다..!

 

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

답변 1

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

오버플로의 기준은 간단합니다. 32비트 체계라면 32비트 표현 범위(0~2의 32제곱 -1)를 넘어서는 순간 오버플로우가 됩니다. 버린다는 기준은 표현 범위를 넘어서 표현이 불가능하다는 의미입니다. 이는 모든 사칙연산에 동일하게 적용됩니다. 물론 덧셈이나 곱셈에서 발생합니다. 참고하시기 바랍니다.

jh009647님의 프로필 이미지
jh009647
질문자

늦게 확인하여 죄송합니다. 친절한 답변 정말 감사드립니다!

jh009647님의 프로필 이미지
jh009647

작성한 질문수

질문하기