草庐IT

im2double

全部标签

c++ - C++ 中的 float 转换实际上是如何完成的?( double 到 float 或 float 到 double )

所以我搜索了这个主题,但没有找到真正相关的内容。我试图查看这个简单代码背后的程序集:intmain(intargc,char*argv[]){doubled=1.0;floatf=static_cast(d);system("PAUSE");return0;}这是(使用VisualStudio2012):15:doubled=1.0;000000013FD7C16Dmovsdxmm0,mmwordptr[__real@3ff0000000000000(013FD91AB0h)]000000013FD7C175movsdmmwordptr[d],xmm016:floatf=static_

c++ - 为什么列表初始化允许从 double 值转换为浮点值?

列表初始化({...}语法)不允许缩小转换。例如,尝试使用3.14f列表初始化inti会出现编译错误,因为从浮点值到整数的转换正在缩小::11:32:error:narrowingconversionof'3.1400001e+0f'from'float'to'int'inside{}[-Wnarrowing]inti{3.14f};^话虽如此,为什么可以用3.14构造一个double类型的floatf?(从double到float的转换被认为是缩小的。)执行以下操作:floatf{3.14};没有编译错误。 最佳答案 在被认为是缩

c++ - 如何在 C++ double 或 int 变量中存储某种 "null"?

我有一个看起来像这样的类structA{doublea1;intb1;doublea2;intb2;};我必须读取a1、b1、a2和b2的文件值。大多数时候所有四个数字都在文件上,但有时只有两个数字。当有两个数字时,我想将值存储在a1和b1中,而我想在a2中存储“无”>和b2。如果a2和b2是指针,我可以将它们指定为nullptr,但它们不是指针。我可以在double和int变量中存储一些东西来指示没有存储什么吗?我知道Boost.Optional可用,但我试图避免使用该库。 最佳答案 您可以将NAN分配给双a2,这也表明intb2

c++ - 如何计算 C++ 中 double vector 的累积和?

我有一个doublevector,我需要创建另一个数组,它是第一个元素的累加和。例如;vectorArray(10,1);vectorSum(10);Sum[0]=Array[0];for(unsignedinti=1;i是否有一个内置函数可以执行上述累加和? 最佳答案 未经测试,类似std::partial_sum(Array.begin(),Array.end(),Sum.begin(),plus());如果是C++,应该可以解决问题。(其实plus()可以默认出来,itseems。)

c++ - 如何在类的头文件中定义一个 const double?

在我的类的头文件中,我正在尝试以下操作并收到编译器投诉:private:staticconstdoublesome_double=1.0;您应该如何实际执行此操作? 最佳答案 在C++11中,由于constexpr,您可以拥有非整数常量表达式:private:staticconstexprdoublesome_double=1.0; 关于c++-如何在类的头文件中定义一个constdouble?,我们在StackOverflow上找到一个类似的问题: http

windows - CMD/windows 批处理 : how to pass a double quote and a larger than sign in a command argument?

我可以通过多种方式将双引号和大于号传递给任何命令:'"'、"\""、">"但是当我尝试将它们一起传递时C:\>echo"\">"Thesystemcannotfindthepathspecified.与"\"\>"相同。我可以使用单引号使其工作,但由于我已经处理了很多引号,所以我想保留所有内容双引号内。有什么办法可以避免吗?我在windows7上,但我相信这是一些向后兼容性“功能”,所以不确定此信息是否相关。编辑1:我认为Endoro的答案是正确的……但这并没有那么简单。CMD对^>的处理方式不同,具体取决于字符串中是否存在转义双引号。任何人都知道为什么?还是不同的转义方法?C:\>s

double - Kotlin 中使用数据类型 Double 的范围

如果我尝试编译这段代码...funmain(args:Array){for(iin1.0..2.0){println(i)}}...我收到错误提示For-looprangemusthavean'iterator()'method如果我添加一个step...funmain(args:Array){for(iin1.0..2.0step.5){println(i)}}...然后我得到一个新错误:Kotlin:Unresolvedreference.Noneofthefollowingcandidatesisapplicablebecauseofreceivertypemismatch:pu

double - Kotlin 中使用数据类型 Double 的范围

如果我尝试编译这段代码...funmain(args:Array){for(iin1.0..2.0){println(i)}}...我收到错误提示For-looprangemusthavean'iterator()'method如果我添加一个step...funmain(args:Array){for(iin1.0..2.0step.5){println(i)}}...然后我得到一个新错误:Kotlin:Unresolvedreference.Noneofthefollowingcandidatesisapplicablebecauseofreceivertypemismatch:pu

c++ - 在 Windows 上使用长 double

我有一个应用程序,在用double进行数学计算时,由于灾难性的截断错误,我绝对必须使用longdouble数据类型。我的测试程序变得很疯狂,因为在windows上,longdouble与VisualStudio只是double的别名,而在linux和OSX上,longdouble是一个真正的longdouble,标称精度为1e-19。关于mingw(GCC的Windows端口)是我感到困惑的地方。Mingw声称LDBL_EPSILON的精度为1e-19,但googleing表明mingw使用的c运行时实际上只是不支持真正的longdouble的microsoftc运行时。任何人都可以在

kotlin - 将 Double 转换为 ByteArray 或 Array<Byte> Kotlin

给定一个双倍valdouble=1.2345如何将其转换为KotlinByteArray,和/或Array?转换1.2345后其内容如下所示0011111111110011110000001000001100010010011011101001011110001101在Java中,有一个解决方案涉及Double.doubleToLongBits()(java.lang.Double的静态方法),但在Kotlin中,Double指的是Kotlin.Double,它没有这样的(或任何其他在这种情况下有用的)方法。我不介意解决方案是否产生Kotlin.Double在这个文件中无法访问。:)