728x90
반응형
- 홈페이지 : https://github.com/ckormanyos/wide-integer
- 제작자 :
Christopher Kormanyos
- 목적
C++
에서 정해진 크기를 넘어서는 매우 큰 정수를 안전하게 처리할 수 있는 라이브러리입니다.std::uint128_t
(128 비트 정수),std::uint256_t
과 같은 넓은 비트 폭의 정수 를 지원하며, 하드웨어에서 직접 지원하지 않는 고정 크기 정수를 소프트웨어적으로 구현합니다.
C++ 11
이상 지원- 사용자 정의 타입으로
uint128_t
,int256_t
등 제공 - 덧셈, 뺄셈, 곱셈, 나눗셈, 모듈로 연산 지원
- 스트림 입출력 지원
- 높은 성능 및 정밀도
-
라이브러리 자체는 헤더 전용이므로 다음과 같이
#include
만 하면 사용 가능합니다. -
cpp
#include <wide-integer/wide_integer_include.hpp>
-
cpp
#include <iostream> #include <wide-integer/wide_integer_include.hpp> int main() { using namespace wide_integer::literals; using uint128_t = wide_integer::uint128_t; uint128_t a = 0xFFFFFFFFFFFFFFFF; uint128_t b = 1; uint128_t result = a + b; std::cout << "a + b = " << result << std::endl; return 0; }
-
output
a + b = 18446744073709551616
- 16진수로
0x10000000000000000
입니다.
- 16진수로
-
cpp
#include <iostream> #include <wide-integer/wide_integer_include.hpp> int main() { using uint256_t = wide_integer::uint256_t; uint256_t a = uint256_t(12345678901234567890ULL); uint256_t b = uint256_t(9876543210987654321ULL); uint256_t mul_result = a * b; uint256_t div_result = mul_result / a; std::cout << "곱셈 결과: " << mul_result << std::endl; std::cout << "나눗셈 검증 (mul_result / a): " << div_result << std::endl; return 0; }
-
cpp
#include <iostream> #include <wide-integer/wide_integer_include.hpp> int main() { using int512_t = wide_integer::int512_t; int512_t x; std::cout << "512비트 정수를 입력하세요: "; std::cin >> x; int512_t square = x * x; std::cout << "제곱 값: " << square << std::endl; return 0; }
- 도움이 되셨으면 하단의 ❤️ 공감 버튼 부탁 드립니다. 감사합니다! 😄
728x90
반응형
'C C++' 카테고리의 다른 글
std::istringstream — 문자열(string)을 스트림(stream)처럼 다루는 방법 (0) | 2025.03.26 |
---|---|
C++ enum class에서 ++ 연산자 사용과 순환 처리 (0) | 2025.03.26 |
C++23에서 std::function::target_type::operator==가 제거된 이유 (0) | 2025.03.24 |
C++20에서 std::tr1이 제거된 이유 (0) | 2025.03.24 |
C++20에서 std::result_of가 제거된 이유 (0) | 2025.03.24 |