c语言中不正确的浮点型常量,c语言中float a=1;对吗?,c语言的问题。float a=1,*b=&a,*c=...

导航:网站首页 >

c语言中float a=1;对吗?,c语言的问题。float a=1,*b=&a,*c=

c语言中float a=1;对吗?-,c语言的问题。float a=1,*b=&a,*c=&b; 这个定义为什么不对

匿名网友:

编译器启用了: 隐式类型转换.不过整型和浮点型的存储结构不同, 在某些情况下很容易出乱子, 不是什么好习惯, 应该尽量避免, 整型就是给整型, 浮点就给浮点.另外float A=1.0, 1.0默认为double型浮点常量, 最好写成: float A=1.0F

匿名网友:

不光float,所有的变量不初始化都没有问题,不初始化的话,里面的值处于一个不确定的状态,可以认为是一个很大概率是0的随机数。

所以,在使用变量之前,一定清楚里面保存的值是自己希望的。

举个例子:想想for (;i<10; i++)和for(i=0;i<10;i++)的区别...

匿名网友:

因为把1/2看做一个表达式,然后把表达式的值赋给a1/2是整数除法,结果为整数.1.0/2或者1/2.0都是符点数,结果为符点数强制类型转换就可以解决不用加“.0”就直接出来的是0.500000这个问题比如a=(float)1/2;如果满意,谢谢

匿名网友:

C语言中float浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。

浮点数使用 IEEE电气和电子工程师协会格式。

浮点类型的单精度值具有 4 个字节,包括一个符号位、一个8 位 excess-127 二进制指数和一个 23 位尾数。

尾数表示一个介于 1.0 和 2.0 之间的数。

由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。

此表示形式为 float 类型提供了一个大约在 -3.4E+38 和 3.4E+38 之间的范围。

定义输入输出举例如下:扩展资料float和double的区别:1.指数和尾数由于指数是以无符号形式存储的,因此指数的偏差为其可能值的一半。

对于 float 类型,偏差为 127;对于 double 类型,偏差为 1023。

可以通过将指数值减去偏差值来计算实际指数值。

2.浮点类型如果存储比精度更重要,请考虑对浮点变量使用 float 类型。

相反,如果精度是最重要的条件,则使用 double 类型。

浮点变量可以提升为更大基数的类型从 float 类型到 double 类型。

当您对浮点变量执行算术时,通常会出现提升。

此算术始终以与具有最高精度的变量一样高的精度执行。

匿名网友:

float a=1.2,b=1.8;a-=b;上面这条命令可以看做a=a-b得出a=1.2-1.8=-0.6,b值不变printf("a=%f,b=%f\n",a,b);输出就不多说了a+=b++==0;上面这条就很蛋疼了——没事这样玩有意义么……首先是运算优先级最高的自加命令。

b++表示这条语句用过b后b自加1.然后是优先级第二的==判断语句。

这个时候b等于1.8,执行这条判断后,得出结论,b不等于0.这个时候就会返回值0代表否的意思然后就是优先级在这里面最低的a+=开始执行。

+=参照前面的-=。

这里意思是a=a+刚才的判断结果也就是说,刚才判断结果返回了0,a这个时候加上0然后赋给a。

上面这一大段总结下来就是:这条语句结果是a值不变,b值自加1。

不过注意了,若是b当时等于0,那么判断后会返回值1,那么a就会加1。

printf("a=%f,b=%f\n",a,b);输出。

不解释。

结果的话,输出应该是a=-0.600……,b=1.800……a=-0.600……,b=2.800……省略号是懒得数后面会有多少个0.

问题推荐

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值