草庐IT

float_val

全部标签

java - Java中的 float 范围

我一直在尝试使用Java编写以下代码:importjava.math.*;publicclasstrial{publicstaticvoidmain(String[]args){//createaBigDecimalobjectBigDecimalbg;//createaFloatobjectFloatf;floatf2=35912062;bg=newBigDecimal(35912062);//assigntheconvertedvalueofbgtoff=bg.floatValue();Stringstr="Floatvalueof"+bg+"is"+f;bg=newBigDeci

java - 对于 double f,float g,如何找到最大的 int i,使得 i*g <= f

更新:谢谢凯文,我的意思是标题中的这是正确的吗?在这个问题上花费了令人尴尬的时间之后,这是我所管理的最好的:publicintcandidate_answer(doublef,floatg){inttest=(int)Math.floor(f/g);if((test+1)*g背景:该应用程序是一个简单的游戏,我从以前的程序员那里接管了它的所有权。奇怪的是,他选择在成员变量和参数变量中随意混合float和double,因此有很多不必要的隐式和显式转换。玩家坐标为doublex,y(假设玩家是一个点)。有一个floatTILE_SIZE,世界是一些行数和列数的图block,加上一些通用的越

Java - 带 float 的无限循环

这个问题在这里已经有了答案:doubleorfloatdatatypedoesn'taddupproperlyinaloop?(5个答案)关闭5年前。我目前正在学习javafloat。我知道,float有一定数量的重要数字。我也知道,float在Java中表示为-1或1*num*10^x。其中num是数字,10^x是小数点。但是在这里我们没有数字的一小部分。这里怎么可能出现无限循环?死循环代码:floatf=123456789;while(f-->0){System.out.println(f);}

java - 加减精确值以 float

问题:float的总数是有限的,大约有2^32个。使用float,您可以使用java.lang.Math.nextAfter直接转到下一个或上一个。我称之为一次飞跃。我的主要问题(由子问题组成)是,如何使用leaps在float车上导航?首先,我怎样才能一次将一个float移动到另一个点?publicstaticfloatmoveFloat(floatvalue,intleaps){for(inti=0;i这种方式在理论上应该可行,但实际上并未优化。如何在一次添加中完成?我还需要知道2个float之间有多少跳跃。这是这个的示例实现:publicstaticintgetLeaps(flo

java - float x[] 与 float[] x 有什么区别?

这个问题在这里已经有了答案:Differencebetweenint[]arrayandintarray[](26个答案)关闭8年前。我在看一个视频,他们展示了他们正在建立一个像这样的float组:privatefinalfloatx[];我一直这样做:privatefinalfloat[]x;我对两者都进行了测试,但均未产生错误。有区别还是这只是偏好?

Java 允许将 int 隐式转换为 float。为什么?

在Java中,我们可以将int隐式转换为float,这可能会导致精度损失,如下面的示例代码所示。publicclassTest{publicstaticvoidmain(String[]args){intintVal=2147483647;System.out.println("integervalueis"+intVal);doubledoubleVal=intVal;System.out.println("doublevalueis"+doubleVal);floatfloatVal=intVal;System.out.println("floatvalueis"+floatVal

Java "Jackson"JsonMappingException : Can not deserialize instance of float out of FIELD_NAME token

与这个类:publicclassProductsimplementsSerializable{privateBigDecimalproductId;privatefloatpriority;publicfloatgetPriority(){returnpriority;}publicvoidsetPriority(floatpriority){this.priority=priority;}}在对此类JSON数据进行反序列化时:{"productId":47552,"priority":78}出现这个错误:org.codehaus.jackson.map.JsonMappingExce

c# - 可以精确表示为 float / double 的整数范围

这个问题在这里已经有了答案:What'sthefirstdoublethatdeviatesfromitscorrespondinglongbydelta?(4个答案)WhichisthefirstintegerthatanIEEE754floatisincapableofrepresentingexactly?(2个答案)关闭9年前。可以表示为double(resp.float)的(连续)整数的确切范围是多少?我问的原因是因为我对questionssuchasthisone很好奇。何时会发生准确性损失。也就是最小正整数m是什么使得m+1不能精确地表示为double(resp.floa

java - 将 Java float 转换为 C

我有一个java程序使用包含大量float的对象。事情是出于优化原因,我需要将这段代码的一部分转换成C。为了进行基准测试,我已经在C中转换了所需的方法。事情是不再将对象作为输入,而是将这些float组作为输入。我将这些数组保存在Java文件中,以便从我的C代码轻松访问它。问题是,Javafloat和Cfloat显然完全不同,我在C代码中得到了虚拟值。我没有在互联网上找到任何可以帮助我完成这项任务的资源。Ididfindthis,但它适用于C++,我无权访问这些类。您有什么建议吗?我想我可以开发某种转换器,但这可能需要一些时间,并且可能有更好的在线解决方案。谢谢,编辑:我正在使用Data

java - 为什么需要从 double 到 float 而不是从 int 到 byte 的显式类型转换?

考虑以下语句:byteby=5;//工作正常字面量'5'是int类型并且足够小以适合byte类型的变量。编译器在这里进行隐式类型转换(从int到byte)。现在考虑以下场景:floatfl=5.5;//compilationerror文字'5.5'是double类型,也足够小以适合变量类型float。为什么我们需要像这样显式地类型转换:floatfl=(float)5.5;//worksfine为什么编译器不为我们进行浮点类型转换? 最佳答案 在整数版本中,编译器知道所有数字5中的数据可以存储在一个字节中。没有信息丢失。对于浮点值,