草庐IT

浮点数

全部标签

c++ - 将 float 转换为定点数

在C++中,将任何浮点值(float)转换为fixedpoint的通用方法是什么?(int,16:16或24:8)?编辑:为了澄清,定点值有两个部分:整数部分和小数部分。整数部分可以用有符号或无符号整数数据类型表示。小数部分由无符号数据整数数据类型表示。为了清楚起见,让我们用金钱做一个类比。小数部分可能代表美分——一美元的小数部分。'cents'数据类型的范围是0到99。如果将8位无符号整数用于定点数学,那么小数部分将被分成256个可整除的部分。我希望这能解决问题。 最佳答案 给你://Asignedfixed-point16:16

c++ - Google 的 Protocol Buffer 在实践中处理浮点类型的跨平台程度如何?

Google的ProtocolBuffer允许您在消息中存储float和double。我查看了实现源代码,想知道他们是如何以跨平台的方式做到这一点的,而我偶然发现的是:inlineuint32WireFormatLite::EncodeFloat(floatvalue){union{floatf;uint32i;};f=value;returni;}inlinefloatWireFormatLite::DecodeFloat(uint32value){union{floatf;uint32i;};i=value;returnf;}inlineuint64WireFormatLite::

c++ - 在没有 double 类型的 C 编译器上解析 double IEEE 浮点

我正在使用8位AVR芯片。64位double没有数据类型(double只映射到32位float)。但是,我将通过串行接收64位double,并且需要通过串行输出64位double。如何在不强制转换的情况下将64位double转换为32位float并再次返回?32位和64位的格式都将遵循IEEE754。当然,我假设转换为32位float时会损失精度。对于从64位到32位float的转换,我正在尝试这个://Scriptoriginallyfromhttp://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1281990303floatconvert(u

python - 浮点值作为字典键

我正在开发一个用于分析微量滴定板的类(class)。样本在单独的文件中描述,条目用于有序字典。其中一个关键是pH,通常以float形式给出。例如6.8我可以使用Decimal('6.8')将其作为十进制导入,以避免将float作为dict键。另一种解决方案是将点替换为例如6p8之类的p或在我的示例描述中写6p8,从而从一开始就消除问题。但这会在以后造成麻烦,因为我无法在我的图中绘制6p8的pH值。你会如何解决这个问题? 最佳答案 使用float作为字典键没有问题。只需round(n,1)将它们标准化为您的键空间。例如。>>>hash

python - 原始浮点编码

更新原来的问题不再是解决此问题的合适问题,因此我将不做任何说明,以证明我尝试/学习的知识以及背景知识。显然,这不仅是“Base64变体”,而且涉及更多。背景:我使用python3.x编程,主要用于与开源程序Blender一起使用。我是新手/业余级程序员,但我对大型概念非常了解我已经阅读了与我的问题有关的这些文章。WikipediaonBase64Base64cangetyoupwned(pdf)stackoverflowdiscussion其他一些问题:我有一个二进制文件,其中包含3d网格数据(浮点列表和整数列表),该数据对应于每个顶点(浮点)的x,y,z坐标以及组成网格面的顶点索引(

python - 如何在 Python 中进行小数到浮点转换?

我需要在Python中将Decimal值转换为float。有什么方法可以进行这种类型转换吗? 最佳答案 有两种方法:float_number=float(decimal_number)float_number=decimal_number*1.0第一个使用内置函数,第二个没有任何函数,但要注意1.0而不是1因为它应该是float的,所以结果是float的。 关于python-如何在Python中进行小数到浮点转换?,我们在StackOverflow上找到一个类似的问题:

python - 提取浮点/ double 值

如何使用正则表达式从字符串中提取double值。importrepattr=re.compile(???)x=pattr.match("4.5") 最佳答案 来自perldocperlretut的正则表达式:importrere_float=re.compile("""(?x)^[+-]?\*#first,matchanoptionalsign*andspace*(#thenmatchintegersorf.p.mantissas:\d+#startoutwitha...(\.\d*#mantissaoftheforma.bora.

python - 在Python中将浮点列表加入空格分隔的字符串

我有一个python中的float列表:a=[1.2,2.9,7.4]我想加入他们以产生一个空格分隔的字符串-即:1.22.97.4但是,当我尝试时:print"".join(a)我收到一个错误,因为它们是float的,当我尝试时:print"".join(str(a))我明白了[1.2,1.8,5.2999999999999998]如何连接所有元素,同时将元素(单独)转换为字符串,而不必遍历所有元素? 最佳答案 您需要将列表的每个条目转换为字符串,而不是一次将整个列表:print"".join(map(str,a))如果您想更好地

Python 3 浮点小数点/精度

这个问题在这里已经有了答案:Limitingfloatstotwodecimalpoints(34个回答)关闭上个月。我正在读取一个带有float的文本文件,所有这些都带有1或2个小数点。我正在使用float()将一行转换为float,如果失败则引发ValueError。我将所有float存储在一个列表中。打印出来时,我想将其打印为小数点后2位的float。假设我有一个带有数字-3.65,9.17,1的文本文件。我阅读了每一个,一旦我将它们转换为float并将它们附加到列表中。现在在Python2中,调用float(-3.65)会返回-3.65。然而,在Python3中,float(-

mongodb - 如果副本集中的最大节点数关闭,如何将辅助节点转换为主节点?

我正在使用带有副本集的mongodb,它有3个节点,它们的ip分别是192.168.1.100、192.168.1.101,192.168.1.102。在我当前的设置中192.168.1.100是主要的,其他是次要的。我已将192.168.1.100和192.168.1.101的优先级设置为1和192.168.1.102为0,现在经过一段时间我的192.168.1.100和192.168。1.101两个节点都挂了。我想强制192.168.1.102成为主要的,这样我的应用程序才能生效。他们是否有任何方式将192.168.1.102节点强制转换为主节点。 最佳