Java의 int
은 항상 32 비트 부호있는 정수가됩니까?Java int는 항상 32 비트입니까?
62
A
답변
101
예, The Java Language Specification에 정의되어 있습니다. Section 4.2: Primitive Types and Values 가입일
:
추가적으로 Section 4.2.1: Integral Types and Values에서 : 바이트적분 유형 값을 가진 8 비트 16 비트, 32 비트 및 64 비트 two's-를 서명
byte
,short
,int
및long
이다 각각 을 보완하고 값이 UTF-16 코드 단위 (§3.1)를 나타내는 16 비트 부호없는 정수 인char
입니다.
- 127 -128에서
- 포함 : 적분 형식
값은 다음 범위에서 정수 간단히 -32768에서 32767까지 포함
- int의 경우 -2147483648에서 2147483647까지 -9223372036854775808에서 9223372036854775807에 오랫동안
- , 문자 용 포함
- 에서 '\ u0000의'에서 '\ uffff'포함하는, 즉 0 내지 65535
7
int
을 인들 (32)이다 비트. 더 많은 것을 필요로한다면 long
는 64 비트입니다.
0
Java 8은 부호없는 정수에 대한 일부 지원을 추가했습니다. 기본 int
에는 여전히 서명되어 있지만 일부 메소드는 부호없는 것으로 해석합니다.
- compareUnsigned INT (X, INT의 Y)
- divideUnsigned (INT 배당 INT 제수)
- parseUnsignedInt (문자열들) :
- parseUnsignedInt (String를, INT 기수)
- remainderUnsigned (INT 배당, INT 제수)
- toUnsignedLo NG (INT의 X)
- toUnsignedString (INT의 ⅰ)
- toUnsignedString (INT I, INT 기수) 여기서
다음 방법 자바 8의 Integer class 첨가 하였다
는 사용 예이다 : 64 비트 길이 인 경우, 추가로
public static void main(String[] args) {
int uint = Integer.parseUnsignedInt("4294967295");
System.out.println(uint); // -1
System.out.println(Integer.toUnsignedString(uint)); // 4294967295
}
2
요구 사항을 충족하지 못하면 java.math.BigInteger을 시도하십시오.
숫자가 64 비트의 범위를 벗어난 상황에 적합합니다.
public static void main(String args[]){
String max_long = "9223372036854775807";
String min_long = "-9223372036854775808";
BigInteger b1 = new BigInteger(max_long);
BigInteger b2 = new BigInteger(min_long);
BigInteger sum = b1.add(b1);
BigInteger difference = b2.subtract(b1);
BigInteger product = b1.multiply(b2);
BigInteger quotient = b1.divide(b1);
System.out.println("The sum is: " + sum);
System.out.println("The difference is: " + difference);
System.out.println("The product is: " + product);
System.out.println("The quotient is: " + quotient);
}
출력은 :
합이다 18,446,744,073,709,551,614
차이점은 : -18446744073709551615
생성물이다 -85070591730234615856620279821087277056
몫은 1
관련 문제
- 1. int가 C로 항상 32 비트입니까?
- 2. int는 항상 0으로 초기화됩니까?
- 3. 시스템이 32 비트 또는 64 비트이든 상관없이 uint는 32 비트입니까?
- 4. MSVC 6에서 int 16 또는 32 비트입니까?
- 5. INT는
- 6. Microsoft의 IE 이미지는 64 비트 또는 32 비트입니까?
- 7. 삽입 INT는
- 8. MySQL Int는 0을 제거합니다
- 9. 변환 INT는 성병 : : 문자열
- 10. 방법 (주조) INT는
- 11. .NET 문제 캐스팅의 int는
- 12. Java 정규식은 항상 실패합니다.
- 13. 자바 원시적 인 int는 의도적으로 또는 우연히 원자입니까?
- 14. int는 Qt가 지원하는 각 플랫폼에서 32 비트가 보장되거나 qint32 만 보장됩니까?
- 15. Java : 32 비트 int로 변환하는 방법?
- 16. java memory usage
- 17. Integer가 VB.Net에서 항상 32 비트라고 가정하는 것이 안전합니까?
- 18. 32 비트 PowerShell은 항상 64 비트 Windows 2008 R2에 있습니까?
- 19. 32 비트 그레이 스케일 이미지 CGBitmapContextCreate가 항상 검은 색
- 20. VS 2010 프로젝트는 항상 x86/32 비트를 대상으로합니다.
- 21. 전 처리기 정의가 엉망입니다. int는 재정의를 정의합니까?
- 22. 목적 C. 주조 INT는 일반적인 질문에 대한
- 23. INT _tmain (INT는 argc, _TCHAR *는 argv [])
- 24. boost.python 인수 형식이 일치 (numpy.int64 -> INT는)
- 25. 32 비트 및 64 비트 코드가있는 DWORD의 크기는 어느 정도입니까?
- 26. Java Getters : 항상 특정 메서드 실행
- 27. Java 멀티 캐스트 지속 시간은 항상 0입니다.
- 28. 메소드는 항상 객체 또는 클래스에서 호출해야합니까? (Java)
- 29. java - vector는 항상 같은 결과를 나타냅니다.
- 30. Linux에서 java 비트 버전을 확인하는 방법은 무엇입니까?
우수한 정보 :-) – joe