首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将boost::multiprecision::int512_t转换为boost::multiprecision::cpp_dec_float_100?

如何将boost::multiprecision::int512_t转换为boost::multiprecision::cpp_dec_float_100?
EN

Stack Overflow用户
提问于 2013-09-04 18:09:17
回答 1查看 629关注 0票数 1

我最近在使用boost::multiprecision。我的代码如下:

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

namespace bm = boost::multiprecision;

int main(void) {
    bm::int512_t a = 12;
    bm::cpp_dec_float_100 f = a;

    std::cout << f * 3.14 << std::endl;

    return 0;
}

它没有编译。错误显示:

代码语言:javascript
复制
b.cpp: In function ‘int main()’:
b.cpp:9:28: error: conversion from ‘boost::multiprecision::int512_t {aka boost::multiprecision::number<boost::multiprecision::backends::cpp_int_backend<512u, 512u, (boost::multiprecision::cpp_integer_type)1u, (boost::multiprecision::cpp_int_check_type)0u, void> >}’ to non-scalar type ‘boost::multiprecision::cpp_dec_float_100 {aka boost::multiprecision::number<boost::multiprecision::backends::cpp_dec_float<100u> >}’ requested
  bm::cpp_dec_float_100 f = a;
                        ^

How can I convert it correctly? Thanks a lot!
EN

回答 1

Stack Overflow用户

发布于 2015-08-06 00:59:59

我自己也是新手,但是我已经使用boost multi_precision相当多了,我想下面的方法应该可以工作。

bm::cpp_dec_float_100 f= bm::cpp_dec_float_100 f(a);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18611025

复制
相关文章

相似问题

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