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

이장희님의 프로필 이미지
이장희

작성한 질문수

자바 프로그래밍 입문 강좌 (renew ver.) - 초보부터 개발자 취업까지!!

변수

Java int 10진수 최대값을 등비수열로 구하기

작성

·

176

0

안녕하세요?

int의 경우 4 byte = 32 bit라고 이해하고 있습니다. 그렇다면 최대값은 32개의 메모리 공간에 1을 다 넣으면 이진수로 표현하는 int 최대값이고 그 값을 10진수로 변환하기 위해서는 등비수열을 이용하여 합을 구하면 되는 것으로 이해하고 있습니다.

2^0 + 2^1 + 2^2 + ... + 2^31 = 2^32 - 1 (a)

그런데 검색해보면 2^31 - 1의 값이 최대값으로 나옵니다. (a)의 계산에서 잘못된 점이 있는지 확인해주실 수 있나요? 감사합니다.

답변 1

0

아, 32개 비트중 마지막 1개는 부호를 표시하는 비트입니다
1이면 음수 0이면 양수-> 즉 32개비트가 아니라 31개로 수를 표현하는게 맞습니다 

이장희님의 프로필 이미지
이장희

작성한 질문수

질문하기