草庐IT

Double-precision_floating-point_f

全部标签

java - Java float 的尾数部分的最大数字是多少?

在Java中,尾数部分最多可以存储多少个数?在下面的链接中http://steve.hollasch.net/cgindex/coding/ieeefloat.htmlSignExponentFractionBiasSinglePrecision1[31]8[30-23]23[22-00]127这是否意味着我们只能存储0到2^8个组合? 最佳答案 你想知道的一切都在IEEE-754的维基百科页面上:http://en.wikipedia.org/wiki/IEEE_754-2008. 关

java - Spring MVC : Appropriate extension point for wrapping API Responses

我有一个简单的RESTAPI,使用SpringMVC@Controller和@RequestMapping构建。我想开始包装响应以提供额外的元数据。例如,给定一个会返回的调用HTTPGET:/users/1{"userName":"JackJackerson"}我想把它包装起来,如下:{"metadata":{"callLimit":"50","callsRemaining":"49"},"result":{"userName":"JackJackerson"}}..etc..此外,我想支持用于管理列表的标准参数集(limit和offset)。因为这涉及到所有的api方法,我想将它实现

java - 为什么 *= 在将 float 隐式转换为 int 时不给出任何错误?

这个问题在这里已经有了答案:Whydon'tJava's+=,-=,*=,/=compoundassignmentoperatorsrequirecasting?(11个答案)关闭9年前。我之前遇到过一种情况,我尝试了以下两段代码:intscore=100;score=score*1.05;和intscore=100;score*=1.05;第一个失败了(很明显,我试图隐式地将float转换为int)。但是第二个工作得很好。编译器没有提示,我也没有收到任何运行时错误。为什么第二个有效,而第一个无效?据我所知,x*=y只是x=x*y的简写。

java - 将浮点值分配给 double 值

我指的是this甲骨文文档。在尝试执行以下操作时,publicstaticvoidmain(Stringargs[]){floatf=1.1f;doubledf=1.1f;System.out.println("f="+f);System.out.println("df="+df);f=1.5f;df=1.5f;System.out.println("f="+f);System.out.println("df="+df);}输出是f=1.1df=1.100000023841858f=1.5df=1.5为什么第二行输出显示的是一个近似值。但不是第四行。如何计算该值?

Java 光线追踪 float 与 double

上学期我们不得不为学校的一门类(class)开发光线追踪器。学校快结束了,我试着摆弄一下。我想看看如果我将所有浮点计算从double更改为float(所有计算均使用double完成)会发生什么变化。所以我将每个变量都更改为float类型,并将Math方法返回的每个double简单地转换为float。在几个场景上测试我的光线追踪器显示出相当不错的性能提升。在网络上搜索后,我发现了float可以更快的各种原因,但也有人说double可以同样快,甚至在64位环境中更快。问题是,我在64位环境和JVM中运行。性能提高的原因是什么?现在,我正在阅读PBRT书籍,并计划在此之后从头开始重写光线追踪

java - 如何在 JUnit 中比较两个 double 列表

在JUnit4测试中,我有一个方法getValues()返回List我想与引用列表进行比较的对象。到目前为止,我找到的最佳解决方案是使用org.hamcrest.collection.IsArray.hasItems和org.hamcrest.Matchers.closeTo像这样:assertThat(getValues(),hasItems(closeTo(0.2,EPSILON),closeTo(0.3,EPSILON)));这对于只返回少量值的测试来说很顺利。但如果测试返回更多值,这绝对不是最佳方法。我也试过下面的代码。垂头丧气到Matcher之前hasItems代码编译需要:

Java:我应该使用 float 还是 Float?

这个问题在这里已经有了答案:Whentousewrapperclassandprimitivetype(11个答案)关闭9年前。我的同事告诉我,我应该尽可能使用float来减少对象创建并提高性能。必要时,Java会自动将float转换为Float(这需要一些计算能力)。所以在我看来,唯一需要Float的是需要经常使用对象Float而不是它的原始对象。当查看java.awt.Color时,它正在使用Float,这可能是不必要的。在Java中什么时候需要使用Float而不是float?

Java float 表示为十六进制数

为什么0x1p3等于8.0?为什么0x1e3等于483,而0x1e3d等于7741?这是令人困惑的,因为1e3d等于1000.0。 最佳答案 0x1e3和0x1e3d是十六进制的integer文字。注意e和d是十六进制数字,不是指数指示器或double在这种情况下输入指示符。1e3d是十进制的float文字。e是指数指标,d说这是一个double而不是float.符号0x1p3是一种用十六进制表示浮点文字的方法,您可以在section3.10.2中读到Java语言规范。表示1乘以2的3次方;指数是二进制的(因此,它是2的幂而不是10

java - BigDecimal 到 SQL NUMBER : check for value larger than precision

在我的应用程序中,我将数字处理为BigDecimal,并将它们存储为NUMBER(15,5)。现在我需要在Java上正确检查BigDecimal值是否适合该列,这样我就可以在不执行SQL、捕获异常和验证供应商错误代码的情况下生成正确的错误消息。我的数据库是Oracle10.3,此类错误导致error1438.谷歌搜索后,我找不到这样的代码,所以我想出了自己的代码。但我对这段代码真的很不满意……简单,但同时简单到让人怀疑它的正确性。我用许多值、随机值和边界对其进行了测试,它似乎有效。但由于我对数字真的很糟糕,所以我想要一些更健壮且经过良好测试的代码。//noconstantsforeas

在Point Cloud库中添加新的Pointype

作为PCL的新用户,我必须使用一些包含类属性的PLY文件(除了标签属性)。我决定修改库以创建一个新的尖端型,可以称为pointxyzlc;到目前为止,我已经修改了point_types.h文件通过添加structpointxyzlc(围绕L.103)point_types.h通过point_cloud_register_point_struc(pcl::pointxyzlc...)(围绕l.424)STD::Ostream部分的point_types.cpp。但是,我通过与该类创建云来测试,但库未能识别新类。有进一步修改的想法吗?提前致谢,看答案我使用了一个技巧来使用现有的尖点类。我将这些类重