Java 또는 C++에서 128 비트 정수를 사용할 수 있습니까?Java 또는 C++에서 128 비트 정수를 나타내는 방법은 무엇입니까?
답변
자바에서는 BigInteger 클래스를 사용하여 임의로 큰 정수를 저장할 수 있습니다. C++에서 GMP과 같은 라이브러리를 사용하면 동일한 기능을 사용할 수 있습니다.
128 비트 숫자를 나타내는 고유 한 클래스 및 연산을 작성하거나 사용 가능한 라이브러리를 사용하십시오.
내가 볼 수있는 이유는 "자신의 글을 쓰거나 직접 쓰지 마십시오"라는 것이 도움이되는 것보다 적게 보였다는 것입니다. 'Peer pressure'배지를 얻을 수있는 기회는 다음과 같습니다 :) –
BigInteger
클래스는 Long.MAX_VALUE
보다 큰 정수 값으로 설계되었습니다.
하실 수 있습니다. 적어도 C++의 경우 라이브러리를 사용해야 할 가능성이 높습니다.
나는 PolarSSL 라이브러리 또는 GNU MP Bignum 라이브러리를 좋아합니다.
물론 표현할 수 있습니다.
최소에서 16 개의 요소가있는 바이트 배열을 사용할 수 있습니다. 그냥 원하는 경우 가 값을 대표하거나 실제로 일부 계산을 할
그러나, 질문입니다.
자바에서는 BigInteger
을 사용하여 임의의 크기의 정수 값 및을 (실제적으로) 계산할 수 있습니다.
java.math.BigInteger의
초과 64 비트 (긴 크기)이다 정수로하려면 java.math.BigInteger의를 사용한다. 이 클래스는 무제한의 정수를 나타내, 그것들과의 산술을 실행하기위한 다수의 메소드를 제공합니다.
http://leepoint.net/notes-java/data/numbers/10biginteger.html
당신이 필요로하는 경우 소수점 값은 의 BigDecimal 물론
, 당신은 java.math의 패키지에 BigInteger를 클래스를 사용할 수 있습니다 사용합니다. 이 클래스는 모듈 식 산술, GCD 계산, 소수 테스트, 소수 생성, 연산과 같은 비트 조작에 대한 연산을 제공합니다.
이 클래스는 JDK1.1에 추가되었습니다.
그러나 C++ 라이브러리에는 이러한 가용성이 내장되어 있는지 잘 모르겠습니다. 제 3 자로부터 확장 가능한 API가있을 수 있습니다.
- 1. 대형 128 비트 정수를 저장하기위한 디스크 구조?
- 2. Java 또는 C에서 문자의 비트 조작?
- 3. PHP에 64 비트 정수를 저장하는 방법은 무엇입니까?
- 4. 두 개의 32 비트 정수를 C에서 64 비트로 사용하려면 어떻게해야합니까?
- 5. 32 비트 정수를 10 비트 정수로 해시하는 방법은 무엇입니까?
- 6. 큰 정수를 사용한 비트 연산
- 7. c에서 임의로 큰 숫자를 나타내는 가장 좋은 방법은 무엇입니까?
- 8. 부호가있는 64 비트 값을 사용하여 SQL 및 C#에서 128 비트 부호없는 정수를 시뮬레이트 하시겠습니까?
- 9. 64 비트 컴퓨터에서 부호없는 128 비트 나누기
- 10. tomcat JNDI 128 비트 암호화
- 11. C에서 비트 필드를 사용하는 올바른 방법은 무엇입니까?
- 12. PostgreSQL에서 float에 정수를 언팩하는 방법은 무엇입니까?
- 13. C에서 비트 맵이란 무엇입니까?
- 14. 오른쪽 또는 왼쪽으로 흔들림을 나타내는 방법은 무엇입니까?
- 15. 파이썬에서 특정 비트 (24 비트, 16 비트 등)의 정수를 저장하는 방법은 무엇입니까?
- 16. 서명되지 않은 서명에서 MySQL 또는 PHP로 서명 된 32 비트 정수를 캐스팅하는 방법은 무엇입니까?
- 17. BOOL 래퍼를 나타내는 방법은 무엇입니까?
- 18. 라이브러리 또는 128 비트 연산을 수행하는 다른 방법이 있습니까?
- 19. 이진 투명도를 나타내는 방법은 무엇입니까?
- 20. c에서 새 줄 바로 뒤에 나타나는 정수를 읽는 방법은 무엇입니까?
- 21. 디스크에 32 비트 정수를 저장하는 가장 빠른 방법은 무엇입니까?
- 22. 24 비트 정수를 3 바이트 배열로 변환하는 방법은 무엇입니까?
- 23. Java를 사용하는 128 비트 데이터 암호화
- 24. C에서 "경고 : 리턴은 캐스트없이 포인터에서 정수를 만듭니다"는 의미는 무엇입니까?
- 25. C에서 비트 단위 설정
- 26. C에서 문자열의 두 정수를 저장하십시오
- 27. Linux에서 java 비트 버전을 확인하는 방법은 무엇입니까?
- 28. 32 비트 부호없는 정수를 사용하여 64 비트 수를 곱하는 알고리즘
- 29. 루아는 64 비트 정수를 사용합니까?
- 30. 자바에서 정수를 구분하는 방법은 무엇입니까?
요구 사항에 대한보다 구체적인 내용이 필요합니다. a, b는 128 비트 숫자를 64 비트 값 쌍으로 나타냅니다. – unwind
@unwind : long은 일부 컴파일러에서 32 비트가 될 수 있습니다. '__int64' 또는'long long'은 최소 64 비트이지만 비표준 확장입니다. – Brian
[C++의 큰 정수] 가능한 중복 (http://stackoverflow.com/questions/1815803/big-integers-in-c) – MSalters