Java 中Double的疑问double是64为这个无争议也就是说double最多能表示2^64个数字!这句话对吧?0.1和0.2和0.3是三个不同的数把!就需要占2^64个中的三个了吧!那double最大正数1.7976931348623157E308 小数咱先

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 22:30:31

Java 中Double的疑问double是64为这个无争议也就是说double最多能表示2^64个数字!这句话对吧?0.1和0.2和0.3是三个不同的数把!就需要占2^64个中的三个了吧!那double最大正数1.7976931348623157E308 小数咱先
Java 中Double的疑问
double是64为这个无争议
也就是说double最多能表示2^64个数字!这句话对吧?
0.1和0.2和0.3是三个不同的数把!就需要占2^64个中的三个了吧!
那double最大正数1.7976931348623157E308 小数咱先不说
光说1E308吧!就是1X10^308把!这都几位了?
还有小数部分!早就超出位数了啊!

Java 中Double的疑问double是64为这个无争议也就是说double最多能表示2^64个数字!这句话对吧?0.1和0.2和0.3是三个不同的数把!就需要占2^64个中的三个了吧!那double最大正数1.7976931348623157E308 小数咱先
你的理解是错误的,double型是64位,但是表示方法和整数是不一样的.你用整数的想法去理解浮点数,肯定会出错啦.给你看下我做过的笔记,你理解下:
存储布局就是一个浮点数在内存中如何表示.我们知道浮点数有float和double,前者是4个字节也就是32位,后者是8个字节也就是64位.布局分别为:
  符号 指数 小数部分 偏移附加(bias)
  单精度 1[31] 8[30-23] 23[22-00] 127
  双精度 1[63] 11[62-52] 52[51-00] 1023

  中括号内为位的编号范围,外面为该部分所占有的位的数量.偏移附加不属于位表示的内容,是一个常量,稍后解释.
  符号只有一位:0-表示正数 1-表示负数
  指数部分:用指数部分的值(8位/11位,unsigned)的值 减去 偏移附加 得到该数实际的指数 例如值为200,实际指数为73=200-127.对于双精度的double来说常量bias=1023
  尾数:尾数是什么?对于一个科学计数法来讲,形式象这样的 L.M×BE,那么这个L.M就是所谓的尾数(mantisa).它由一个起始位和一个小数部分组成.

Java 中Double的疑问double是64为这个无争议也就是说double最多能表示2^64个数字!这句话对吧?0.1和0.2和0.3是三个不同的数把!就需要占2^64个中的三个了吧!那double最大正数1.7976931348623157E308 小数咱先 sum += 1.0/(double) 在java中! C语言中,表达式18/4*sqrt(4.0)/8的数据类型是是DOUBLE,是因为所有FLOAT运算时都转成了DOUBLE,还是因为sqrt返回的是double是不是C语言中不可能有数据类型是FLOAT的式子,因为所有FLOAT运算时都转成了DOUBL java中r=Double.valueOf(str).doubleValue();是什么意思谢谢 关于java中 随机产生的问题 这段代码中int random = (int)(Math.random()*10); 为什么要 *10 import java.util.*;/*** GuessMachine.java* */public class GuessMachine {String name ;double price;/*** 初始化商品信息*/public void initia c++中求圆的面积那个程序中面积area半径r都是double型,pai取3.14159265,r取10.0程序输出结果为314.159为什么不是314.159265啊?为什么只保留了小数点后三位?我的程序是#includeusing namespace std;int main(){doubl 要求定义一个返回值为double类型的名为mysum的函数,其功能为求两个double类型数的和值,正确的定义是:  A) mysum(double a,b)  { return (a+b); }  B) mysum(double a,double b)  { return a+b; }  C) doubl 以下的变量定义语句中,合法的是( ).A.float $_*5= 3.4F; B.double a =Double.MAX_VALUE; C.byte b1以下的变量定义语句中,合法的是( ).A.float $_*5= 3.4F; B.double a =Double.MAX_VALUE;C.byte b1= 15678; D.int _abc_ = 3721L;java语言 这段JAVA语言的解释double d=a.nextDouble(); double x,y,z,b,c; x=Double.valueOf(a).doubleValue();是什么意思java 里面的内容,关于计算器计算的 Java中reverse()的用法 java中Color的用法! Java:对double值进行四舍五入,保留两位小数的几种方法 以下函数定义中正确的是 ()以下函数定义中正确的是 () .A.double fun(double x,double y){ } B.double fun(double x;double y){ }C.double fun(double x,double y);{ } D.double fun(double x,y){ }A.double fun(double x,double y){ } B 输入精度e 和实数x,用下列公式求cos x 的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(e,x)求余弦函数的近似值。#include #include int main(void){int x;double e;double funcos(doubl Java中如何将List变double[]?因为解析csv文件得到的是List,后面做处理需要double[]就是在这里要做处理,并且遇到的问题是:x1是double[]的时候是可以的,x1.toString()还是不行呢?这样做了之后提示error co matlab中double* 的意思如题,double* pArr = (double*)mxGetPr(prhs[0]);这句中double*的意思. java 中