2009-06-23 8 views

답변

101

예, The Java Language Specification에 정의되어 있습니다. Section 4.2: Primitive Types and Values 가입일

:

적분 유형 값을 가진 8 비트 16 비트, 32 비트 및 64 비트 two's-를 서명 byte, short, intlong이다 각각 을 보완하고 값이 UTF-16 코드 단위 (§3.1)를 나타내는 16 비트 부호없는 정수 인 char입니다.

추가적으로 Section 4.2.1: Integral Types and Values에서 : 바이트

  • 127 -128에서
  • 포함 : 적분 형식

    값은 다음 범위에서 정수 간단히 -32768에서 32767까지 포함

  • int의 경우 -2147483648에서 2147483647까지 -9223372036854775808에서 9223372036854775807에 오랫동안
  • , 문자 용 포함
  • 에서 '\ u0000의'에서 '\ uffff'포함하는, 즉 0 내지 65535
+1

우수한 정보 :-) – joe

7

int을 인들 (32)이다 비트. 더 많은 것을 필요로한다면 long는 64 비트입니다.

0

Java 8은 부호없는 정수에 대한 일부 지원을 추가했습니다. 기본 int에는 여전히 서명되어 있지만 일부 메소드는 부호없는 것으로 해석합니다.

  • compareUnsigned INT (X, INT의 Y)
  • divideUnsigned (INT 배당 INT 제수)
  • parseUnsignedInt (문자열들)
  • :

    다음 방법 자바 8의 Integer class 첨가 하였다

  • parseUnsignedInt (String를, INT 기수)
  • remainderUnsigned (INT 배당, INT 제수)
  • toUnsignedLo NG (INT의 X)
  • toUnsignedString (INT의 ⅰ)
  • toUnsignedString (INT I, INT 기수) 여기서

는 사용 예이다 : 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

관련 문제