1. 在c语言中,如何表示实数啊是用float还是double,俩者有什么不一样吗一般定义实数用哪
摘要 亲您好,在标准C语言中,浮点数有单精度浮点数(float)和双精度浮点数(double)两种,有的C版本还支持第三种长双精度浮点数(long double).
2. 在c语言中,如何表示实数啊是用float还是double,俩者有什么不一样吗一般定义实数用哪个那复数呢
在标准C语言中,浮点数有单精度浮点数(float)和双精度浮点数(double)两种,有的C版本还支持第三种长双精度浮点数(long double)。解决方法如下:
1、首先,定义一个双精度数n,用来保存被除数。
3. C语言中什么是实型数
C语言中的实型数据是指带有小数的数。
实型数据分两类:单精度和双精度float和double在内存中占用的字节:float占用4个字节,double占用8个字节。
整型的变量是没有小数点的,实型是有小数点的整型你可以理解为整数,5:5就是整型常量。不是实型包含整型,实型和整型是不同的类型,它们在内存中的存储方式是不。
(3)c语言实数是什么形式扩展阅读:
C语言四种基本数据类型:
1、基本类型
short、int、long、char、float、double 这六个关键字代表C 语言里的六种基本数据类型。
2、派生数据类型
派生数据类型是具有相同数据类型,并且按照一定顺序排列的一组变量的集合。
3、指针类型
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。
4、空类型
空类型表示一种未知的类型,不能表示一个真实的变量。
4. C语言 关于实数
整形,也就是int表示。
5/9计算机也是用整形来除的,如果你有计算机组成原理的基础就很好理解,
如果没有,你可以如下简单理解:
5/9 = 0.555.…………但是结果是用整形来保存,所以后面的小数计算机并不知道,于是只有第一位,那就是0
5. c语言中实数的两种表现形式是什么
在c语言中,实数有两种表示形式,即浮点型和指数型
6. 能不能给我讲讲C语言中实数的二进制形式,是怎样存储的
实数也就是小数的存储,小数的存储是IEEE754标准存储的,以C语言为例float类型占32位,double类型占64位,以float类型来说,这32位的float有1位表示小数的符号,8位表示指数,23位表示底数。换句话说,你可以使用一种叫位域的结构来定义它们。比如
structbit_float{
ints:1;
inte:8;
intm:23
};
如果使用c++则可以使用 bitset的标准类库模板来进行操作。
7. 能不能给我讲讲C语言中实数的二进制形式,是怎样存储的
1、float类型数字在计算机中用4个字节(32位)存储。
遵循IEEE-754格式标准:
一个浮点数由3部分组成:符号位s(1位)和、指数e(8位)、底数m(23位)
2、格式
SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM
S:符号位
E:指数,十进制指数加上127后的值得二进制数据
M:底数
3、符号位
指底数的符号,可正可负。
4、指数
占用8bit的二进制数,可表示数值范围为0-255。
但是指数可正可负,所以,IEEE规定,此处算出的次方必须减去127才是真正的指数。
所以,float类型的指数可从-126到128
5、底数
实际是占用24bit的一个值,但是最高位始终为1,所以,最高位省去不存储,在存储中占23bit
科学计数法。
再举一例:
17.625在内存中的存储
首先要把17.625换算成二进制:10001.101
在将10001.101右移,直到小数点前只剩1位:
1.0001101 * 2^4 因为右移动了四位
底数:因为小数点前必为1,所以IEEE规定只记录小数点后的就好。所以,此处的底数为:0001101
指数:实际为4,必须加上127(转出的时候,减去127),所以为131。也就是10000011
符号:整数,所以是0
综上所述,17.625在内存中的存储格式是:
01000001 10001101 00000000 00000000
8. C语言整数型和实数型有什么区别
C语言整型数和实型数最在的区别在于编码方式上。
1、整型数一般使用原码、反码、补码三种编码方式。
原码:即用第一位表示符号, 其余位表示值. 比如如果是8位二进制:
1的原码=0000 0001 //最左侧的最高位是符号位,0表示正数
-1的原码=1000 0001 //最左侧的最高位1表示负数
反码:即在原码的基础上符号位不变,其它各位求反。
-1的反码=1111 1110 //注意符号位不变
补码:即在反码的基础上,再加1
-1的补码=1111 1111
2、实数型一般使用的是IEEE754编码方式。IEEE754中规定了实数符号位、指数位和尾数位,即有效数字位所占的二进制位数,具体如下:
格式 长度 符号位 指数位 尾数位 有效位数 指数偏移 尾数说明
单精度 32 1 8 23 24 127 有一位隐含位
双精度 64 1 11 52 53 1023 有一位隐含位
扩展双精度 80 1 15 64 64 16383 没有隐含位
注意:扩展双精度格式没有隐含位,因此它的有效位数与尾数位数一致,而单精度和双精度格式均有一位隐含位,因此它们的有效位数比尾数位数多1。
9. C语言,实数指数形式
C语言中在库函数里的指数形式:其数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零。一个实数可以有多种指数表示形式,但只有一种属于标准化指数形式。
一个实数在用指数形式输出时,是按规范化的指数形式输出的。
例如,指定实数5689.65按指数形式(%e格式)输出,输出的形式只能是5.68965e+003,而不会是0.568965e+004或56.8965e+002.
规范化指数形式本来是1.23456e3的,而在C语言编程(谭浩强着)的书上说实型数据在内存中以规范化指数形式存放,且小数部分是0.123456(十进制表达),而不是1.23456.
其实:1.23456要二进制存放需分别存整数部和小数部,而0.123456则只需存小数部,这样在占用相同字节的情况下,后一种方法可容纳更大精度的浮点数.具体用法:
在预处理命令处包含:#include <math.h>(math头文件)。
例如:10的n次方,其中n为指数:
int n,result;
scanf("%d",n);
result=pow(10,n);