草庐IT

floating-point-conversion

全部标签

c++ - 使用 2 "double"s 模拟 "float"

我正在为仅支持32位单精度浮点运算的嵌入式硬件编写程序。然而,我正在实现的算法需要64位double加法和比较。我正在尝试使用两个float的元组来模拟double数据类型。因此,doubled将被模拟为包含元组的struct:(floatd.hi,floatd.low)。使用字典顺序进行比较应该简单明了。然而,添加有点棘手,因为我不确定我应该使用哪个基础。应该是FLT_MAX吗?以及如何检测进位?如何做到这一点?编辑(清晰):我需要额外的有效数字而不是额外的范围。 最佳答案 double-float是一种技术,它使用成对的单精度数

c++ - 将最小可能的 float 添加到 float

我想将float的最小可能值添加到float。因此,例如,我尝试这样做以获得1.0+可能的最小float:floatresult=1.0f+std::numeric_limits::min();但是在这样做之后,我得到了以下结果:(result>1.0f)==false(result==1.0f)==true我使用的是VisualStudio2015。为什么会发生这种情况?我能做些什么来绕过它? 最佳答案 如果你想要1之后的下一个可表示的值,有一个函数叫做std::nextafter,来自标题。floatresult=std::ne

c++ - 什么是次正规 float ?

isnormal()referencepage告诉:Determinesifthegivenfloatingpointnumberargisnormal,i.e.isneitherzero,subnormal,infinite,norNaN.数字为零、无穷大或NaN很清楚它的含义。但它也说不正常。什么时候一个数低于正规数? 最佳答案 在IEEE754标准中,浮点数表示为二进制科学记数法,x=M×2e。这里M是尾数,e是指数。从数学上讲,您始终可以选择指数,使1≤M实际上,尾数的存储没有前导1,因为总是有前导1,除了次正规数(和零)。

c++ - 为什么不允许使用静态 const float ?

这个问题在这里已经有了答案:Whycan'tIhaveanon-integralstaticconstmemberinaclass?(5个回答)关闭3个月前。我有一个类,它本质上只是包含一堆通过我的应用程序使用的常量定义。出于某种原因,longs编译但floats不编译:classMY_CONSTS{public:staticconstlongLONG_CONST=1;//CompilesstaticconstfloatFLOAT_CONST=0.001f;//C2864};给出以下错误:1>c:\projects\myproject\Constant_definitions.h(71

c++ - 在 C++ 中将 float 转换为 std::string

我有一个浮点值需要放入std::string。如何从float转换为字符串?floatval=2.5;std::stringmy_val=val;//errorhere 最佳答案 从C++11开始,标准C++库提供函数std::to_string(arg)arg支持各种类型。 关于c++-在C++中将float转换为std::string,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

MongoDB : Check if a point is inside a stored polygon

我是mongodb地理定位功能的新手。我在数据库中存储了一些代表国家边界的多边形以及国家名称。现在我想做的是检查一个点在哪个国家。例如,如果我提供自己的地理位置,我想知道我所在的国家/地区。有没有办法用mongodb做到这一点?也许与geoWithin?谢谢 最佳答案 您必须像以下架构一样存储您的位置数据:{"loc":{"coordinates":[[[1.0,1.0],[1.0,10.0],[10.0,10.0],[10.0,1.0],[1.0,1.0]]],"type":"Polygon"}}然后发送$geoIntersect

MongoDB : Check if a point is inside a stored polygon

我是mongodb地理定位功能的新手。我在数据库中存储了一些代表国家边界的多边形以及国家名称。现在我想做的是检查一个点在哪个国家。例如,如果我提供自己的地理位置,我想知道我所在的国家/地区。有没有办法用mongodb做到这一点?也许与geoWithin?谢谢 最佳答案 您必须像以下架构一样存储您的位置数据:{"loc":{"coordinates":[[[1.0,1.0],[1.0,10.0],[10.0,10.0],[10.0,1.0],[1.0,1.0]]],"type":"Polygon"}}然后发送$geoIntersect

javascript - 如何在 JavaScript 中将字符串转换为 float ?

我正在尝试从数据网格中解析两个值。这些字段是数字的,当它们有逗号时(例如554,20),我无法得到逗号后面的数字。我试过parseInt和parseFloat。我该怎么做? 最佳答案 如果它们是单独的值,试试这个:varvalues="554,20".split(",")varv1=parseFloat(values[0])varv2=parseFloat(values[1])如果它们是一个单一的值(比如在法语中,一半写成0,5)varvalue=parseFloat("554,20".replace(",","."));

javascript - 如何在javascript中舍入 float ?

例如,我需要将6.688689舍入为6.7,但它总是显示7。我的方法:Math.round(6.688689);//orMath.round(6.688689,1);//orMath.round(6.688689,2);但结果总是相同的7...我做错了什么? 最佳答案 Number((6.688689).toFixed(1));//6.7 关于javascript-如何在javascript中舍入float?,我们在StackOverflow上找到一个类似的问题:

floating-point - 常量截断为整数

以下GO程序报错:./fft.go:13:constant-6.28319truncatedtointeger./fft.go:13:cannotuse-7*k/N(typeint)astypefloat64inassignment程序:packagemainimport("math""fmt")funcmain(){fmt.Println("Helloworld",math.E)vark,Nint=1,10varansfloat64=0varcfloat64=(-2.0*math.Pi*k)/Nx:=make([]float64,N)fori:=0;i为什么我不能在float64类型