int - 범위 - 자바 long max




32 비트 부호있는 정수의 최소값은 얼마입니까? (2)

가장 많이 사용되는 정수의 크기는 32 비트입니다. 마지막 비트는 양수와 음수를 구별하는 데 사용됩니다. 마지막 비트가 설정되지 않으면 숫자는 양수입니다. 따라서 최대 양수는 0x7FFFFFFF = (1<<31)-1 = 2147483647 (마지막 비트가 설정되지 않음)입니다.

음수의 경우 2의 보수 표기법이 널리 사용됩니다. 모든 비트를 반전하고 1을 더함으로써 양수의 카운터 파트를 식별 할 수 있습니다. 따라서 최대 정수의 카운터 파트는 0x80000001 이지만 최소 숫자는 아닙니다 .

2의 보수 표기법에서 최소 숫자는 0x80000000 = -2147483648 입니다. 이 수에 대한 흥미로운 사실은 자체 보완과 동일하다는 것입니다. 즉, 모든 비트를 반전하면 0x7FFFFFFF 되고 1을 추가하면 0x80000000 이됩니다. 원래 수와 같습니다.

wikipedia 에서 2의 보충 표기법에 대한 자세한 내용.

32 비트 부호있는 정수의 최소값은 [이 웹 사이트]에서 계정을 만들기위한 보안 "도전"질문 일뿐입니다 (편집 : 링크가 이제 멀웨어 임). 호기심과 지루함).

나는 그들이 2,147,483,647 만큼 큰 숫자를 저장할 수있는 전형적인 32 비트 int에 대해 이야기하고 있다고 가정했다. 그러나 -2147483647 을 시도했을 때 질문이 잘못되었다고 말했습니다. -2,147,483,647 과 같은 몇 가지 변형을 시도했지만 아무것도 작동하지 않습니다 ...

질문을 잘못 해석했거나 웹 사이트에 문제가 있습니까?

추신 : 나도 제안대로 -2,147,483,648 시도

여기에 그림이있다.


부호있는 32 비트 정수는 -2,147,483,648 까지 내려갈 수 있습니다.