double和float的区别
来源:互联网 发布:matlab 字符串矩阵 编辑:程序博客网 时间:2024/06/03 15:46
在C和C++中,如下赋值语句
float a=0.1;编译器报错:warning C4305: 'initializing' : truncation from 'const double ' to 'float '
原因:
在C/C++中(也不知道是不是就在VC++中这样),上述语句等号右边0.1,我们以为它是个float,
但是编译器却把它认为是个double,所以要报这个warning。
常人的做法,经常使用double,而不喜欢使用float,因为精度上的问题,我想也有上面这个没有道理的原因。
double和float的区别【转载网上的帖子】
2007-10-19 16:06说实在的,以前还真没想过double和float到底有什么不同的地方,刚才看到了一个帖子,有写清楚了,地址:http://www.sunxin.org/bbs/printpage.asp?BoardID=4&ID=14057
内容如下:
============================================================
-- 作者:一个踉跄-- 发布时间:2006-6-11 12:36:00
-- double和float除了精度上还有啥区别?
#include <iostream.h>
#include <math.h>
double distance(int X1,int Y1,int X2,int Y2){
return sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));
}//int function
double distance(double X1,double Y1,double X2,double Y2){
//以上这句如果改为double distance(float X1,float Y1,float X2,float Y2){就会报错。。。
return sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));
}//float function
void main(){
cout<<distance(2,2,5,5)<<endl;
cout<<distance(2.0,2.0,5.0,5.0)<<endl
}//main 结束
以上这段程序可以编译。。。
但是把其中某句的DOUBLE型改成FLOAT型倒数第二句就会报错。。。
为什么。。。只有精确到小数点后一位啊。。。float为啥不行呢。。。
-- 作者:czq_czq
-- 发布时间:2006-6-11 23:07:00
--
#include <iostream.h>
#include <math.h>
double distance(int X1,int Y1,int X2,int Y2){
return sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));
}
float distance(float X1,float Y1,float X2,float Y2){
return (float)sqrt((X1-X2)*(X1-X2)+(Y1-Y2)*(Y1-Y2));
}
void main(){
cout<<distance(2,2,5,5)<<endl;
cout<<distance(2.0f,2.0f,5.0f,5.0f)<<endl;
}
上面这样改一下就好了,,因为,5.0 默认是double类型的,,所以要加f ,
- double和float的区别
- double和float的区别
- double和float的区别
- float 和 double 的区别
- float和double的区别
- double 和float区别
- java的float和double的区别
- float与double的精度和区别
- mysql float和double类型的区别
- Java中double和float的区别
- java中float和double的区别
- decimal,float和double的区别
- java中float 和double的区别
- decimal,float和double的区别
- Float、double和Bigdecimal的区别
- decimal,float和double的区别
- java float和double 区别
- float与double的区别
- CentOS赋予一个普通用户root权限
- 开源虚拟机软件 .
- [Unity3D]事半功倍:界面插件NGUI的使用教程与实例
- 学习笔记——操作系统_Linux的进程通信
- [Note]ubuntu下jdk的安装过程
- double和float的区别
- 多线程下载图片
- Spring容器对象(BeanFactory)
- Linux下面如何进行C语言编程
- hdu1159 LCS
- tableview,基本属性图片详细解释
- Java进阶:Java中堆和栈的区别
- 数据库设计十四个技巧
- 都要学C