Ⅰ c语言中说的浮点型是什么意思呢
就是这个数就像有一个飘动的小数点,也就是我们学数学中说的科学计数法。
它由阶码和尾码组成,也就是科学计数法中说的有效数字和指数组成, 类似这样 1.0*10^9,这样这个数就是10亿,我们只用记录1和9这两个关键数就可以表示10亿,所占空间小只有2个数,如果写成普通的数就是100000000,这样你就需要记录1个1和9个0,占据空间大,这种数的小数点不是飘动的,所以叫定点数不叫浮点数,需要记录小数点向前向后的所有数,占用空间和有效数字个数无关,和位数有关,会占用更多空间,浮点数比较节省空间,用浮点数表示小数也非常好,所以计算机里的小数,和位数比较高的数都用浮点数,你不可能因为1亿亿+2亿亿也用int型。
浮点数就是科学计数法,不同的是计算机里是2进制浮点数,我们的1.3e-10这种类型的数是十进制的浮点数。
拓展资料
1.有符号整型在C语言中,有符号整形变量a用signed int a表示,通常我们写的int a默认为有符号整型。
根据程序编译器的不同,整形定义的字节数不同。常用的单片机编译器,如KEIL下,51类单片机的C语言中,int代表2个byte(16位);如果是32位ARM处理器的C语言中,则int代表4个byte(32位)。而不少PC端软件的编译器则会根据操作系统或处理器(如64位XP)把int定义为8 byte(64位),(如32位XP)把int定义为4 byte(32位)。
2.无符号整形
在C语言中,无符号整形变量b用unsigned int b表示。
在32位的xp系统中,对于无符号整形变量b, signed short int b,b为16位。
3、字符型
在 C语言中,字符c用char c表示,char在标准中是unsigned, 编译器可以实现为带符号的,也可以实现为不带符号的。
在VC6.0及linux下char 范围为[-128,127],如下
char a=127;
a=a+1; /*现在a的值为-128*/
unsigned char b=255;
b+=1; /*现在b的值为0*/
4、浮点型
浮点型包括单浮点型float,双浮点型double,浮点型数据均为有符号型。
Ⅱ C语言中Switch(表达式) 中表达式不可以是浮点数。
浮点数使用对数形式保存的,所以要比较浮点数相等是不可能的。
a=0.1 0.2 0.3 0.4 0.5
int b;
可以这样b=int(10*a);
swith(b)
{
case 10:
case 20:
}
但这种方法也不是很可行的, 因为对数指数互相转换,0.200000000就可能变成了0.19999
假如
swith(a)
{
case b1: ... a++ break;
case b2: ... b++ break;
case b3: .... c++
default : .... d++;
}
改为while(1)
{
if(fabs(a-b1)<0.0000001) ...a++...break;
if(fabs(a-b2)<0.0000001) ...b++...break;
if(fabs(a-b2)<0.0000001) ...c++...;
d++;
break;
}
为什么不直接用if,不用while
因为:用while后可以用break;提高效率,还可以基本实现
switch的功能;
记得在最后面加上break;就行了
Ⅲ 为什么C语言中结构不能定义浮点类型,百思不解,痛苦中。。。。
这是C语言编译的问题,可以外部定义 float score;
scanf("%f", &score );
再赋值
pArr->score=score;
Ⅳ C语言浮点型数的问题
根本原因是大多数十进制的小数无法转换成精确的二进制小数,举个例子:
二进制的0.1等于十进制的0.5
但是十进制的0.1是无法转换成一个有限的二进制小数的,结果是一个无线循环的二进制小数:
1(2)/1010(2)=0.0001100110011001100......(2)
浮点变量对于任何数都是化成小数来表示的,比如9表示为:
1.001*10^3
我想楼主应该知道,浮点数的小数部分只能保存一定长度的数,如果现在假设有一个只能保存2位小数的浮点变量的话,那1.001就必须进行四舍五入了,照搬十进制数的四舍五入,如果下一位是1,则进一,是0则不进一,所以这个数就变成了1.01*10^3,化成整数是1010,就是十进制的10
Ⅳ 在C语言中为什么循环中更新的变量不能定义成浮点型
可以定义成浮点型,例如:
main(){
float f;
for (f=0.1;f<3.0;f=f+0.1) printf("%g\n",f);
return 0;
}
输出:
0.1
0.2
0.3
0.4
。。。。
2.8
2.9
3
-----------------
浮点型, 由于计算机表达十进制小数时有误差,控制循环次数可能会有误差,但也不一定。为保险起见,能用整型,则用整型。
Ⅵ C语言中说的浮点型是什么意思呢
浮点型变量即为实型变量,代表实数;区别于代表整数的整形变量。
Ⅶ c语言错哪了,是不是不能用float
根本不是float的锅。
请把float a,b,c,d; 这一行删掉
char (grade); 这一行里的括号可以去掉。
把scanf那一行改成 scanf("%c",&grade);
把printf里面的四个%c统统改成
Ⅷ c语言非法使用浮点数
取余运算只能用于整数,而取余后的数也就是你用的a应该是整形,而你用了浮点型所以会错
Ⅸ 关于c语言中如何定义浮点数
需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。