2010-06-28 2 views
8

Java 또는 C++에서 128 비트 정수를 사용할 수 있습니까?Java 또는 C++에서 128 비트 정수를 나타내는 방법은 무엇입니까?

+2

요구 사항에 대한보다 구체적인 내용이 필요합니다. a, b는 128 비트 숫자를 64 비트 값 쌍으로 나타냅니다. – unwind

+1

@unwind : long은 일부 컴파일러에서 32 비트가 될 수 있습니다. '__int64' 또는'long long'은 최소 64 비트이지만 비표준 확장입니다. – Brian

+0

[C++의 큰 정수] 가능한 중복 (http://stackoverflow.com/questions/1815803/big-integers-in-c) – MSalters

답변

9

자바에서는 BigInteger 클래스를 사용하여 임의로 큰 정수를 저장할 수 있습니다. C++에서 GMP과 같은 라이브러리를 사용하면 동일한 기능을 사용할 수 있습니다.

-8

128 비트 숫자를 나타내는 고유 한 클래스 및 연산을 작성하거나 사용 가능한 라이브러리를 사용하십시오.

+2

내가 볼 수있는 이유는 "자신의 글을 쓰거나 직접 쓰지 마십시오"라는 것이 도움이되는 것보다 적게 보였다는 것입니다. 'Peer pressure'배지를 얻을 수있는 기회는 다음과 같습니다 :) –

0

BigInteger 클래스는 Long.MAX_VALUE보다 큰 정수 값으로 설계되었습니다.

2

하실 수 있습니다. 적어도 C++의 경우 라이브러리를 사용해야 할 가능성이 높습니다.

나는 PolarSSL 라이브러리 또는 GNU MP Bignum 라이브러리를 좋아합니다.

13

물론 표현할 수 있습니다.

최소에서 16 개의 요소가있는 바이트 배열을 사용할 수 있습니다. 그냥 원하는 경우 값을 대표하거나 실제로 일부 계산을 할

그러나, 질문입니다.

자바에서는 BigInteger을 사용하여 임의의 크기의 정수 값 을 (실제적으로) 계산할 수 있습니다.

0

java.math.BigInteger의

초과 64 비트 (긴 크기)이다 정수로하려면 java.math.BigInteger의를 사용한다. 이 클래스는 무제한의 정수를 나타내, 그것들과의 산술을 실행하기위한 다수의 메소드를 제공합니다.

http://leepoint.net/notes-java/data/numbers/10biginteger.html

당신이 필요로하는 경우 소수점 값은 의 BigDecimal 물론

0

, 당신은 java.math의 패키지에 BigInteger를 클래스를 사용할 수 있습니다 사용합니다. 이 클래스는 모듈 식 산술, GCD 계산, 소수 테스트, 소수 생성, 연산과 같은 비트 조작에 대한 연산을 제공합니다.

이 클래스는 JDK1.1에 추가되었습니다.

그러나 C++ 라이브러리에는 이러한 가용성이 내장되어 있는지 잘 모르겠습니다. 제 3 자로부터 확장 가능한 API가있을 수 있습니다.

관련 문제