C++中,表示数字的1e7和1.e7有区别吗

给你们一个程序好了。最后几行代码。
#include <iostream>
int main()
{
using namespace std;
cout.setf(ios_base::fixed,ios_base::floatfield);
cout<<"Integer division:9/5="<<9/5<<endl;
cout<<"Floating-point division:9.0/5.0=";
cout<<9.0/5.0<<endl;
cout<<"Mixed division:9.0/5="<<9.0/5<<endl;
cout<<"double constants:1e7/9.0=";
cout<<1.e7/9.0<<endl;
cout<<"float constants:1e7f/9.0f=";
cout<<1.e7f/9.0f<<endl;
return 0;
}

C++中,表示数字的1e7和1.e7有区别。
1e7表示整数,1.e7表示浮点数
int有short int,int,long int
short int 占2 字节, int 占2或4字节 long int 占4字节
只输入int 即为2或4个字节,一般只有2个字节,最大存储数为-32768--32767
float 占4个字节
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-09
不好意思,我也是刚学不久,给你以下代码
#include "stdio.h"
void main()
{
float i,q,p,t;
i=1e7;
q=1.e7;
p=i*10;
t=q*10;
printf("%e,%e",p,t);

}
结果是相同的,我想运算效果是一样的吧。追问

你这是C吧。看不大懂。我也试过了,2种结果是一样的。

追答

没错是C,用C++中编译也是一样的。

追问

泪目,编译一样我知道,当时我看不懂代码又有什么用。我那个程序把.去掉也能编译出一样的结果。我知道结果一样嘛。想知道为什么。是不是2种表示方法完全没区别。

追答

其实教材里面讲浮点型数据小数点后必须跟数字,1.e7是不对的,但它又能编译,我也不太清楚,不好意思

追问

我这教材里没有说明。但是这个程序他故意把2种表示方式都写出来,应该是想说一样的。下面解释又不提这个,搞的像是印刷错误一样。哎。谢谢你了。

本回答被提问者采纳
第2个回答  2011-05-07
不同数字间的转换 1.二C A B B.C A B.C ~A B 0 0 0 0 0 2.机内码计算机中按字节表示数据,没有标志区别是汉字的一部分还是ASCII码.
第3个回答  2020-05-18
#include <bits/stdc++.h>
using namespace std;
int main() {
double i,q,p,t;
i=1e7;
q=1.e7;
p=i*10;
t=q*10;
cout << p << " " << t << endl
return 0;
} //给你,这是c++版本的
第4个回答  2011-05-07
有!
1e7是个16进制数, 1e7应该是个。。。。。。。。。。。。。不知道了追问

16进制不是这样的。。大哥。。