草庐IT

double-byte

全部标签

java - BufferedReader直接转byte[]

我下面的BufferedReader是否有可能将输入直接放入byte[]?publicstaticRunnablereader()throwsIOException{Log.e("Communication","reader");din=newDataInputStream(sock.getInputStream());brdr=newBufferedReader(newInputStreamReader(din),300);booleandone=false;while(!done){try{char[]buffer=newchar[200];intlength=brdr.read(

java - 对于字段为 double d = 2.2250738585072012e-308 的类,编译会挂起

我遇到了一个有趣的情况。一位同事提交了一些更改,这些更改不会在我的机器上从IDE(Eclipse)或命令行(Maven)编译。问题表现在编译过程占用100%CPU,只有kill进程才能停止。经过一番分析,找到并解决了问题的原因。原来是其中一个界面中的一行“doubled=2.2250738585072012e-308”(末尾没有分号)。以下片段复制了它。publicclassWeirdCompilationIssue{doubled=2.2250738585072012e-308}为什么编译器会挂起?语言边缘案例? 最佳答案 这是J

java - nextDouble() 在我输入 double 值时抛出 InputMismatchException

importjava.util.*;classAverager{publicstaticdoubleunlimited(){intcount=0;doublesum=0;Scannerscan=newScanner(System.in);while(scan.hasNext()){doubled=scan.nextDouble();sum+=d;count++;}doubleave=sum/count;returnave;}publicstaticvoidmain(String[]args){System.out.println(unlimited()+"\n");}}当我使用整数时没

c# - 在 C# 中使用 byte/short 等的任何理由?

超过了int类型?很多代码要么将int与double/floats结合使用。我知道有类似的.NET移动版本,所以byte/short有自己的用途,但对于桌面应用程序有什么意义吗?当我从事C++工作(游戏编程)时,我非常了解我使用的每种数据类型,尽管我在C#/Java工作中没有这种感觉。如果我知道我的循环永远不会超出字节的界限,那么使用字节say会有什么好处吗? 最佳答案 与long相比,单个byte在内存方面不会产生巨大差异,但是当您开始拥有大型数组时,这7个额外的字节将使差别很大。此外,数据类型有助于更好地传达开发人员的意图:当您

Java:检查两个 double 值是否匹配特定的小数位数

比较这两个值应得出“真”:53.917333333333353.9173 最佳答案 如果您希望a=1.00001和b=0.99999被识别为相等:returnMath.abs(a-b)否则,如果您希望a=1.00010和b=1.00019被识别为相等,并且a和b是积极的而且不是很大:returnMath.floor(a*10000)==Math.floor(b*10000);//compareby==isfineherebecausebothsidesareintegralvalues.//doublecanrepresentint

java - A Double 中有多少位小数(Java)

Java中是否有任何内置函数可以告诉我double中有多少位小数。例如:101.13=2101.130=31.100=31.1=1-3.2322=4etc.如果需要,我很乐意先转换为另一种类型,我曾考虑过先转换为bigdecimal,但没有成功。 最佳答案 如果像这样将数字作为字符串传递,则可以使用BigDecimal.scale():BigDecimala=newBigDecimal("1.31");System.out.println(a.scale());//prints2BigDecimalb=newBigDecimal("

java - 将 double 组转换为 float 组

我有一个double[][]数组,我想将一行放入float[]数组中。类型转换一开始没有用,所以我寻找不同的东西。我找到了hereinstackoverflow将Object[]转换为String[]的优雅解决方案,如果我将Object[]转换为float[],它也可以工作。那么:是否有任何优雅的方法可以将double[]转换为float[],或将double[]转换为Object[],以便我可以使用其他帖子中的代码?我将提供我正在做的示例代码,即使我认为这不是必需的:double[][]datos=serie.toArray();double[][]testArray={{1.0,2

java - 如何在 int += double 上配置 Eclipse java 警告

这段Java代码不会导致编译警告。在这种情况下如何配置Eclipse发出警告?如果重要的话,我正在编译1.8合规级别。doubledd=1.1;intii=2;ii+=dd;//thisisapossiblebug 最佳答案 eclipse目前不支持。这也有一个Openbug。Bug516084-Needimplicitnarrowingoftypewarningonplus-equalsandminus-equals背景:根据JavaLanguageSpecificationsection15.26.2,复合赋值语句中没有警告似乎

java - Byte-buddy:生成具有循环类型的类

我正在尝试生成具有循环类依赖性的类,类似于这个问题:ByteBuddy-Handlingcyclicreferencesingeneratedclasses作为一个最小的例子,我想生成的类有这样的依赖关系://classAdependsonclassB,andvice-versafinalclassA{BtheB;}finalclassB{AtheA;}上面链接中接受的答案没有提供足够的信息让我让它工作。这是我尝试过的:importnet.bytebuddy.ByteBuddy;importnet.bytebuddy.description.type.TypeDescription;i

java - Socket.getInputStream().read(byte[]) 是否保证在至少读取一些数据后不会阻塞?

类InputStream的JavaDoc说明如下:Readsuptolenbytesofdatafromtheinputstreamintoanarrayofbytes.Anattemptismadetoreadasmanyaslenbytes,butasmallernumbermayberead.Thenumberofbytesactuallyreadisreturnedasaninteger.Thismethodblocksuntilinputdataisavailable,endoffileisdetected,oranexceptionisthrown.这也符合我的经验。例如,