草庐IT

T_DOUBLE_ARROW

全部标签

c++ - 如何将 double 舍入到 n 位小数?

这个问题在这里已经有了答案:Roundafloattoaregulargridofpredefinedpoints(11个答案)关闭5年前。我试图在标准库中找到一个round函数,但没有找到。有没有办法在C++中将double舍入为n位小数?

c++ - float 到整数的精度与 double 到整数的精度,意想不到的结果

我是计算机工程专业的学生,​​在BYU-Idaho辅导C++入门类(class),一名学生成功地难倒了我。如果为此编写代码:#includeusingnamespacestd;intmain(){floaty=.59;intx=(int)(y*100.0);cout结果=58#includeusingnamespacestd;intmain(){doubley=.59;intx=(int)(y*100.0);cout结果=59我告诉他这是一个精度问题,因为int比float更精确,所以它会丢失信息。double比float更精确,所以它可以工作。但是我不确定我说的是否正确。我认为这与用

C++:将 "boost::multiprecision::float128"转换为 "double"

我正在使用boost多精度库,更准确地说是boost::multiprecision::float128类型。使用ICPC进行编译时,我在尝试执行以下操作时遇到一些错误:doublea=functionA();其中functionA()返回一个boost::multiprecision::float128变量。error:nosuitableconversionfunctionfrom"boost::multiprecision::float128"to"double"exists|我该如何解决这个问题? 最佳答案 来自Boost文

c++ - 为什么 "is_modulo"对于 double 和 float 是假的?

我写了一些代码来检查一个类型是否有模表示:#include#includeusingnamespacestd;intmain(){cout::is_modulo::is_modulo输出:Whetherfloatobjectshaveamodulorepresentation:0Whetherdoubleobjectshaveamodulorepresentation:0但是我们可以使用fmod()(来自)找到float的模数或double.那么,为什么is_modulo如果可以找到float或double的模数,则为false? 最佳答案

c++ - 在 C++ 中获取 double 的精确位表示

假设我们有一个双倍数,比方说,x=4.3241;很简单,我想知道,在C++中,如何简单地为数字表示中的每个位检索一个int?我看过其他questions并阅读bitset上的页面,但恐怕我仍然不明白如何检索这些位。所以,例如,我希望输入是x=4.53,如果位表示是10010101,那么我想要8个整数,每个代表每个1或0。 最佳答案 类似于:doubledoubleValue=...whatever...;uint8_t*bytePointer=(uint8_t*)&doubleValue;for(size_tindex=0;inde

c++ - 关于long long和long double

它们什么时候成为标准C++的一部分?我认为longlong是C++0x的特性,对吗?longdouble怎么样?它已经在C++98或C++03中了吗? 最佳答案 longdouble和longlong已经存在了很长一段时间,并分别在C89和C99中标准化。C++从其第一个版本C++98标准化了longdouble,并将在即将到来的标准修订中添加longlong。 关于c++-关于longlong和longdouble,我们在StackOverflow上找到一个类似的问题:

c++ - 使用 boost.python 公开 std::vector<double>

我已经编写了一些生成std​​::vector的C++代码。我还有一个python脚本来处理一些数据,目前,我是这样声明的(如下)。importnumpyx=numpy.random.randn(1000)y=numpy.random.randn(1000)我可以很好地运行脚本。来self的C++代码:usingnamespaceboost::python;try{Py_Initialize();objectmain=import("__main__");objectglobal(main.attr("__dict__"));objectresult=exec_file("scatte

c++ - Visual Studio 2008 编译器不会在 C++ 中使用 sqrt 自动转换为 double 吗?

编译器不应该在下面自动转换为double吗?至少根据WalterSavitch的说法。#include#includeusingnamespacestd;intmain(){intk;for(k=1;k 最佳答案 问题是sqrt有三个版本可供选择:doublesqrt(doublex);floatsqrt(floatx);longdoublesqrt(longdoublex);由于您传递的是int,编译器将提升您的论点,但将您的整数提升为上述任何类型同样有效,因此它是不明确的。您可以通过简单地显式转换为上述类型之一来解决此问题,如:

C++ 精度 : String to Double

在对转换后的字符串执行一些操作后,我遇到了double的问题。#include#include#includeusingnamespacestd;//conversionfunctionvoidconvert(constchar*a,constinti,double&out){doubleval;istringstreamin(a);in>>val;cout并非所有以字符串形式输入的数字都是这种情况,因此错误不是恒定的。它只影响一些数字(34.38似乎是常数)。目前,当我传入a=34.38和i=100时,它会返回:chara--34.38Val-----34.38modifiedval

c++ - 如何在 C++ 中同时为整数、 float 和 double 据类型重载运算符

我正在创建一个二维坐标类(名为“Point”)来帮助我学习C++。我希望能够对Point类对象(例如Point_a+Point_b)执行基本算术运算(+、-、*、/...)。但是,我也希望能够在Points和其他变量类型(int/float/double)之间执行此类操作。这可以使用运算符/函数重载来完成。从我下面的代码(仅添加)可以看出,据我所知,我必须为每个附加变量类型包含两个附加函数,一个用于“Point+int/float/double”形式,一个用于“int/float/double+Point”形式。#includeusingnamespacestd;classPoint{