代码之家  ›  专栏  ›  技术社区  ›  NSZ

类型转换c++,quadmath

  •  1
  • NSZ  · 技术社区  · 7 年前

    quadmath库没有太多在线文档,我想使用 __complex128 类型

    • 有没有一种方法可以轻松打印这种类型的变量内的值?
    • 如何将变量从 complex<double> ,甚至是单身 __float128 实部和虚部要加倍吗?

    第二个问题更重要,因为如果我可以转换它,我可以简单地使用 cout

    编辑:一切都涉及到以下问题。如何转换 __浮动128 double

    2 回复  |  直到 7 年前
        1
  •  2
  •   You    7 年前

    转换 __float128 到a double

    const __float128 x{};
    const double y = x;
    

    static_cast 为清晰起见(并减少警告)。

    构建 std::complex<T> 从…起 __complex128 also not difficult

    auto bar(__complex128 y)
    {
        return std::complex<double>{
            static_cast<double>(__real__ y),
            static_cast<double>(__imag__ y)
        };
    }
    
        2
  •  0
  •   gsamaras eudoxos    7 年前

    std::complex<double> x;
    __complex128 y;
    x.real(__real__ y)
    x.imag(__imag__ y)