精华内容
下载资源
问答
  • double类型赋值问题

    万次阅读 2006-04-27 09:55:00
    double类型赋值问题 double d=1;屏幕显示: d=1.0 double d=1/2;屏幕显示: d=0.0 double d=1.0/2; 屏幕显示: d=0.5 double d=1/2.0; 屏幕显示: d=0.5不知道缘由 研究中....找了一些文章中说,在两个数之间做...
    double类型赋值问题
            double d=1;
    屏幕显示: d=1.0

            double d=1/2;
    屏幕显示: d=0.0

            double d=1.0/2;
    屏幕显示: d=0.5

            double d=1/2.0;
    屏幕显示: d=0.5

    不知道缘由 研究中....
    找了一些文章中说,在两个数之间做乘或者除的时候如果要想使结果的精度保持不变。一定要在变量赋值的时候采用相同的精度。例如:

    double a=1,c=2;
    double d=a/c;
    屏幕显示: d=0.5
    定义两个数其中一个为double类型也是可以的,在运算时java会把另一int类型转化为double类型的。

    参考文章:Java学习之容易忽视的小问题
    展开全文
  • 用%f来给double类型赋值问题

    千次阅读 2019-10-30 09:16:49
    1)如果将double类型换成float类型即可得到想要的结果。 2)如果将double类型的x先初始化为0 也可以得到想要结果 分析: 以最初的代码,x = 0为例,一步步调试。发现,当输入x的值为0是,内存中x实际存储的并不是0,...

    问题描述

    下面代码,不论输入x为何值,输出结果都是一个很大的不符合预期的值。
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    但是

    1)如果将double类型换成float类型即可得到想要的结果。在这里插入图片描述
    2)如果将double类型的x先初始化为0 也可以得到想要结果
    在这里插入图片描述

    分析:

    以最初的代码,x = 0为例,一步步调试。发现,当输入x的值为0是,内存中x实际存储的并不是0,而是一个很奇怪的数字。
    在这里插入图片描述
    这是因为:
    在这里插入图片描述
    正确写法应该将%f换成%lf。如果将double转换为float也可以得到想要结果 ,不过会发生数据的截断。

    监视下如果用%f来给double类型数据赋值会发生什么
    (double八字节,float 四字节) 观察x的内存变化

    其实cc也是中文编码里面的“烫”,平时文件里面的“烫”字的出现,就是因为没有赋初值的缘故
    在这里插入图片描述
    输入0后在这里插入图片描述
    因为用%f,即float类型进行输入,所以只会改变是前四个字节(float四字节)变为0 ,后面的四个字节不变 ,所以x的值为
    在这里插入图片描述
    如果将x先初始化的话 ,x会变为00 00 00 00 00 00 00 00 即使用%f来录入也可以得到想要的结果(只是输入数据的大小范围还是float型)。

    建议在定义变量的时候最好都先初始化,因为你不知道内存中会存放什么内容,尤其是在申请内存开辟 空间时,在使用前都应该先将内存初始化。

    展开全文
  • 用scanf给double类型赋值时不能用%.2lf

    千次阅读 2019-01-10 14:55:29
    main() { double num; scanf("%lf",&num); } 如果用%.2lf 判断大小的时候会显示你输入的数字永远是小于零的

    main()
    {
    double num;
    scanf("%lf",&num);
    }
    如果用%.2lf 判断大小的时候会显示你输入的数字永远是小于零的

    展开全文
  • Java的long和double类型赋值操作为什么不是原子性的?

    在这里插入图片描述

    1. 对一个没有用volatile修饰的long或double类型的写操作会被拆分成两次写,每次写该类型的32-bit数据,这就导致了在多线程的场景下,可能一个线程看到了对这个64-bit数据类型写入的前32-bit数据,和被另一个线程的后32-bit的数据
    2. 使用volatile修饰后的long和double类型的读写操作是原子性的
    3. 对其引用类型(Long/Double)的读写操作总是原子的,尽管他们的实现可能被分为两次32-bit或者一个64-bit
    4. 不同JVM的实现对这个问题的处理方案不同,可能会将long/double分为两次32-bit写入,也可能直接写入64-bit,但是建议JVM的实现要避免将数据拆为两次写入,而编码者应该显示的使用volatile或者其他同步机制来避免因此可能出现的问题
    展开全文
  • 以上问题,在百度中搜答案的时候,竟发现大家语调一致地认为: long和double类型赋值不是原子性的。 but,其实不是这样的。 那你有想过吗,为什么同样是基本数据类型,byte ,int short它们的赋值就是原子性的呢? ...
  • 直接上图 [img=https://img-bbs.csdn.net/upload/201802/28/1519786254_38876.png][/img] 我实在是搞不明白是哪里出问题了,各位大神,有谁遇到过这样的问题?
  • mz=#{mz}, 把 mz != ’ '这个判断去掉就可以了。
  • 提交表单里double类型的数值参数不能为空,否则出现页面错误 原因是:在实例化实体类时不能将空赋给double类型参数。出现实例化失败。
  • double的默认赋值

    2019-12-10 21:14:01
    关于double类型的默认赋值 今天朋友问了一个问题,想了很久,查到了 printf("%.lf",y);朋友发的照片错的,图中没有给y赋值,但系统给他的初始值为0,刚好符合题意 1现在没有给y赋值,系统随机赋值,计算错误 ...
  • 由于计算机的字长是有限的,所以有些值确实没法精确表示。就像十进制下1/3没法有有限长度表示一样。 可以用整数循环解决。 浮点数的精度控制不好可是会死人的。请看:“1991年2月25日,一杖伊拉克飞毛腿导弹击中了...
  • CRM开发-float类型字段赋值 Incorrect attribute value type ...Incorrect attribute value type System.Single的错,最终转化为double类型赋值终于可以了。 DateTime soptime = postEn.GetAttributeValue(“new_sopt
  • double d; d=123.456789e100; f=d; //f=1e1; printf("f=%f\n",f); printf("d=%f\n",d); } 按照以前的认识和书上讲的,将如此大的数赋给一个float变量必定溢出,但是结果如下图: [img=...
  •  我们知道Java在变量赋值的时候,其中float、double、long数据类型变量,需要在赋值直接量后面分别添加f或F、d或D、l或L尾缀来说明。  其中,long类型最好以大写L来添加尾缀,因为小写l容易和数字1混淆。  例如:...
  • int 类型和double类型数值转换

    热门讨论 2020-10-24 19:02:12
    类型自动转换规则: 参与运算(算数运算和赋值运算)操作数和结果类型必须一致, 不一致时启动隐式转换: 两种类型兼容:int 和double兼容...Double类型数据转换为int 类型数据,丢精度(小数点) num1为小数变量 显示
  • 在这里插入代码片 public static void main (String [ ] args ){ //数组的大小 int size = 10;... double[ ] mylist = new double [ size]; mylist [ 0 ] = 6.6; `` mylist[1 ] =5.5; …… mylist[ 9 ...
  • /* 读取两个实数值,用实数表示出它们的和 */ #include int main(void) { double A,B; ...注意:double类型的变量通过scanf函数赋值时需要使用格式字符串“%lf”
  • 和0.0都是double型,0.f和0.0f是float型,将整型和double型数据赋值给float型都会经过强制转换。 有待进一步深层次挖掘(包括越界、精度损耗、安全性等问题)。。 资料: Assign zero to ...
  • java中的类型赋值常见错误

    千次阅读 2017-10-05 19:52:06
    Java中float、double、long类型变量赋值添加f、d、L尾缀问题 添加尾缀说明 我们知道Java在变量赋值的时候,其中float、double、long数据类型变量,需要在赋值直接量后面分别添加f或F、d或D、l或L尾缀来说明。  ...
  • 10.下面的数据声明及赋值哪一个是正确的? A. float f = 1.3; B. char c =; C....D....A中1.3默认是double类型,正确的写法应该是 float f = 1.3F; 或 float f = 1.3f; B中=后面没有任何值,正...
  • 使用Double类创建double类型变量

    千次阅读 2015-09-12 17:33:39
    package z10; //定义一个String str = "1234...//使用Double类创建double类型变量db并赋值1234 //比较两者是否一致 public class TestString1 { public static void main(String[] args) { // TODO Auto-gener
  • 数据类型转换 double float long unsigned int char/short 从右向左自动转化,即无论与什么数... 赋值运算 类型不一致——类型转换(转换为左边的类型) 长数赋给短数——截断 短数赋给长数——补全 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,429
精华内容 1,371
关键字:

double类型赋值