首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印boost multiprecision 128位无符号整数

如何打印boost multiprecision 128位无符号整数
EN

Stack Overflow用户
提问于 2020-02-17 21:31:34
回答 1查看 260关注 0票数 0

我想打印从十六进制值转换而来的整数值,但我只能打印十六进制值。

代码语言:javascript
复制
#include <iostream>
#include <boost/multiprecision/cpp_int.hpp>
using namespace boost::multiprecision;

    cpp_int          dsa("0xFFFFFFFFFFFFFFFF");
    cpp_int          daa("9223372036854775807");
    daa = ((daa * 64) + daa);
    cout << std::hex<<dsa <<std::showbase<< endl;
    cout <<dsa << endl;
    cout <<daa << endl;
    cout <<(int)daa << endl;
    cout <<(int128_t)daa << endl;

输出

代码语言:javascript
复制
ffffffffffffffff
0xffffffffffffffff
0x207fffffffffffffbf
0x7fffffff
0x207fffffffffffffbf

如何打印128位类型的整数的最大值?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-17 21:55:13

您应该使用std::numeric_limits来获取最大值,因为这就是它的目的。您的格式问题与您的实际问题无关。

代码语言:javascript
复制
#include <iostream>
#include <boost/multiprecision/cpp_int.hpp>
#include <limits>

int main()
{
    auto max = std::numeric_limits<boost::multiprecision::int128_t>::max();
    std::cout << max << std::endl;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60263591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档