jjzjj

浮点数

全部标签

c++ - 我无法捕获和处理浮点异常?

这个问题在这里已经有了答案:Catchingexception:dividebyzero(9个回答)关闭3年前。我尝试编写一个简单的程序来练习C++的Expection,但我无法捕获和处理浮点异常?这是我的代码。#include#include#includeusingnamespacestd;intmain(intargc,char**argv){intnum_1[]={0,2,4,6,8},num_2[]={3,2,1,0,-1};for(inti=0;i这是我的结果,但不是我想要的。0/3=02/2=14/1=4Floatingpointexception(coredumped)

c++ - 通过 Xbee 网络传输浮点值

我在通过简单的2节点Xbee网络传输float时遇到问题。我知道Xbee系统通过字节传输数据包,因此我可以发送一个字符,但我无法发送除此之外的任何内容,而且我似乎无法在任何地方找到任何文档。这是我当前的(基本)代码。发件人:(...appropriatesetup...)voidloop(){sensorValue=analogRead(analogInPin);sensorValueTemp=sensorValue/9.31;//LM35measurementintoCentigradeSerial.print(sensorValueTemp);delay(1000);}接收者:(.

c++ - 如何使用几何着色器从点数据绘制正方形

我想用几何着色器从点数据绘制一个正方形。在顶点着色器中,我发射了一个点。#version330corevoidmain(){gl_Position=vec4(0,0,0,1.0);}在几何着色器中,我想创建一个形成正方形的三角形带。此时尺寸无关紧要,因此模型的尺寸应为1(范围从初始点位置的(-0.5,-0.5)到(+0.5,+0.5)。我需要帮助来计算发射顶点的位置,如代码所示:#version330corelayout(points)in;layout(triangle_strip,max_vertices=4)out;outvec2tex_coord;uniformmat4x4mo

c++ - 将某些内容存储到 unordered_map 时出现浮点异常

我正在使用unordered_map作为C++中的HashMap,但每当我尝试在其中存储任何内容时,我都会得到:Floatingpointexception:8谁能指出错误是什么?以下是我如何初始化我的map(table_entry只是一个结构):std::tr1::unordered_mapforwarding_table;然后我在做一个条目:unsignedshortdest_id=0;table_entry*entry=(table_entry*)malloc(sizeof(table_entry));forwarding_table[dest_id]=entry;我的结构定义是

c++ - 浮点类型模板函数中的文字

这个问题以前出现过,特别是在这里Shouldwegenerallyusefloatliteralsforfloatsinsteadofthesimplerdoubleliterals?但我想知道现在我们在C++14领域并且存在用户定义文字和大括号初始化之类的东西,是否有更好的建议解决方案。问题可以表示为如何在浮点类型的模板函数中编写floattemplateTfoo(Tx){static_assert(std::is_floating_point::value,"");Ty=x*101.0;return(y);}所以问题归结为我们如何写“101.0”,因为它是一个double,所以如果

c++ - 如何重现浮点 cos(x)!=cos(x)

如何重现此行为?https://isocpp.org/wiki/faq/newbie#floating-point-arith2准确的说,在下面的代码中,参数x和y是相等的;它们可以等于1.0或任何其他值。voidfoo(doublex,doubley){doublecos_x=cos(x);doublecos_y=cos(y);//thebehaviormightdependonwhat'sinhereif(cos_x!=cos_y){std::cout一些编译器选项?环形?有什么想法吗? 最佳答案 我会尝试按照链接示例中的方式进

c++ - 有向图 - 如何计算图中每个其他顶点可到达的顶点数?

在有向图中如何有效地计算图中每个其他顶点可达的顶点数? 最佳答案 如果图中没有环,则只能有一个这样的顶点,并且它的入度为零,并且没有其他顶点的入度为零。然后你必须运行DFS来检查是否所有其他顶点都可以从它到达。所以答案要么是1,要么是0,这取决于DFS的结果。如果存在环路,则环路中的所有顶点都具有该属性,或者都不具有。如果您检测到一个循环,请用一个顶点替换循环中的所有顶点,并为该顶点保留一个标签,说明它代表了多少个顶点。使用与上述相同的过程。即,检查入度并从新节点运行DFS。答案将是零或标签。可以使用DFS来检测循环。图中可能有多个

c++ - 浮点相等测试和超精度 : can this code fail?

讨论开始于myanswertoanotherquestion.以下代码确定machineepsilon:floatcompute_eps(){floateps=1.0f;while(1.0f+eps!=1.0f)eps/=2.0f;returneps;}在评论中建议1.0f+eps!=1.0f测试可能会失败,因为C++标准允许使用额外的精度。尽管我知道浮点运算实际上以更高的精度执行(比实际使用的类型指定的精度更高),但我碰巧不同意这个提议。我怀疑在比较操作期间,例如==或!=,操作数没有被截断到它们类型的精度。换句话说,1.0f+eps当然可以比float(例如,longdouble)

c++ - 关于整数和浮点性能的 SSE4 和 SSE2 - 哪个更快?

虽然您通常在CPU上获得比浮点性能更好的整数算术性能,但有人可以澄清SIMD版本的情况。例如:__m128i_mm_mul_epi32(__m128ia,__m128ib);//(multiplies2integervectors)对比:__m128_mm_mul_ps(__m128a,__m128b);//(multiplies2floatvectors)哪个会产生更高的性能?(假设机器具有SSE4功能)。我这么说是因为我根据SSE2指令编写了我自己的小数学库,我不知道我是否应该继续使用__m128i. 最佳答案 让我展示一下我回

c++ - 使用 stringstream 读取浮点值的奇怪失败

我有以下简单代码,它使用c++stringstream读取浮点值(double)。我使用stringstream::good检测读取是否成功。奇怪的是,值被读入float变量,但是good()返回false。底部的代码返回:failed:3.14159我在mingw32下使用gcc4.8.1编译代码,使用g++-std=c++11test.cpp。知道为什么这个读法不是好吗?判断float实际读取成功的正确方法是什么?谢谢#include#includeusingnamespacestd;voidreadFloat(strings){doublei=0!;stringstreamss(