标签: floating-point

Java中的Float和double数据类型

浮点数据类型是单精度32位IEEE 754浮点数,双数据类型是双精度64位IEEE 754浮点数.

这是什么意思?什么时候应该使用float而不是double,反之亦然?

java floating-point double ieee-754

212
推荐指数
4
解决办法
30万
查看次数

如何在bash中使用浮点除法?

我试图在Bash脚本中划分两个图像宽度,但bash给出0了结果:

RESULT=$(($IMG_WIDTH/$IMG2_WIDTH))
Run Code Online (Sandbox Code Playgroud)

我研究了Bash指南,我知道我应该使用它bc,在他们使用的互联网的所有例子中bc.在echo我试图把同样的东西放在我的,SCALE但它没有奏效.

以下是我在教程中找到的示例:

echo "scale=2; ${userinput}" | bc 
Run Code Online (Sandbox Code Playgroud)

我怎么能让Bash给我一个漂浮0.5

floating-point bash arithmetic-expressions

211
推荐指数
13
解决办法
28万
查看次数

可以存储在double中的最大整数

什么是最大的"非浮动"整数,可以存储在IEEE 754 double类型而不会丢失精度?

floating-point double types ieee-754

208
推荐指数
7
解决办法
16万
查看次数

Python JSON序列化一个Decimal对象

我有一个Decimal('3.9')对象的一部分,并希望将其编码为一个看起来像的JSON字符串{'x': 3.9}.我不关心客户端的精度,所以浮动很好.

是否有一种很好的方法来序列化这个?JSONDecoder不接受Decimal对象,并且事先转换为float会产生{'x': 3.8999999999999999}错误,并且会大大浪费带宽.

python floating-point json decimal

207
推荐指数
12
解决办法
17万
查看次数

将数字舍入到C中的2个小数位

如何将浮点数(例如37.777779)舍入到C中的两位小数(37.78)?

c floating-point decimal

201
推荐指数
10
解决办法
70万
查看次数

将浮点数格式化为2位小数

我目前正在为客户网站建立销售模块.到目前为止,我已经得到了完美计算的销售价格,但我遇到的问题是将输出格式化为2位小数.

我目前在一个变量中调用它,以便我可以将数据绑定到listview.

Sale = float.Parse(((x.Sale_Price - (x.Sale_Price * (x.Discount_Price / 100))).ToString())),
Run Code Online (Sandbox Code Playgroud)

谁能告诉我如何将输出格式化为2位小数?非常感谢!

c# variables floating-point decimal

198
推荐指数
8
解决办法
38万
查看次数

在Pandas中将浮动转换为int?

我一直在处理从CSV导入的数据.Pandas将一些列更改为float,所以现在这些列中的数字显示为浮点数!但是,我需要将它们显示为整数,或者不使用逗号.有没有办法将它们转换为整数或不显示逗号?

python floating-point integer dataset pandas

192
推荐指数
9
解决办法
38万
查看次数

为什么浮点数不准确?

为什么有些数字在存储为浮点数时会失去准确性?

例如,十进制数9.2可以精确地表示为两个十进制整数(92/10)的比率,两者都可以用二进制(0b1011100/0b1010)精确表示.但是,存储为浮点数的相同比率永远不会完全等于9.2:

32-bit "single precision" float: 9.19999980926513671875
64-bit "double precision" float: 9.199999999999999289457264239899814128875732421875
Run Code Online (Sandbox Code Playgroud)

这样一个看似简单的数字如何在64位内存中表达"太大" ?

language-agnostic floating-point precision

181
推荐指数
4
解决办法
3万
查看次数

使用按位OR 0来设置数字

我的一位同事偶然发现了一种方法来使用按位或者:

var a = 13.6 | 0; //a == 13
Run Code Online (Sandbox Code Playgroud)

我们在谈论它并想知道一些事情.

  • 它是如何工作的?我们的理论是使用这样的运算符将数字转换为整数,从而删除小数部分
  • 它有什么优势Math.floor吗?也许它快一点?(双关语不打算)
  • 它有任何缺点吗?也许它在某些情况下不起作用?清晰度是显而易见的,因为我们必须弄清楚,而且,我正在写这个问题.

谢谢.

javascript floating-point bit-manipulation

178
推荐指数
6
解决办法
4万
查看次数

解释了将double转换为32位int的快速方法

在阅读Lua的源代码时,我注意到Lua使用a将a macro舍入double到32位int.我解压缩了macro,它看起来像这样:

union i_cast {double d; int i[2]};
#define double2int(i, d, t)  \
    {volatile union i_cast u; u.d = (d) + 6755399441055744.0; \
    (i) = (t)u.i[ENDIANLOC];}
Run Code Online (Sandbox Code Playgroud)

这里ENDIANLOC定义为endianness,0对于little endian,1对于big endian.Lua小心翼翼地处理字节序.t代表整数类型,如intunsigned int.

我做了一些研究,并且有一个更简单的格式macro使用相同的想法:

#define double2int(i, d) \
    {double t = ((d) + 6755399441055744.0); i = *((int *)(&t));}
Run Code Online (Sandbox Code Playgroud)

或者以C++风格:

inline int double2int(double d)
{
    d += 6755399441055744.0;
    return …
Run Code Online (Sandbox Code Playgroud)

c c++ floating-point performance

169
推荐指数
2
解决办法
1万
查看次数