c语言中一个数的小数如何表示

作者&投稿:太幸 (若有异议请与网页底部的电邮联系)
C语言中如何定义小数~

C语言中用于描述小数的数据类型是float和double,float类型表示单精度浮点数,double表示双精度浮点数。

C语言中浮点数常量有两种表示方式:
1、定点表示:(必须有小数点) 如:0.123, .123, 123.0。2、指数表示:(e或E之前必须有数字,指数必须为整数)如:12.3e3 ,123E2, 1.23e4。错误的写法:e-5 ,1.2E-3.5,e3。
注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,请在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。
float f1 = 1.1f; //小写ffloat f2 = 1.1F; //大写Fdouble d = 1.1; //double类型

两种表示方式:
1、定点表示:必须有小数点。
例如:0.123, .123, 123.0。
2、指数表示:e或E之前必须有数字,指数必须为整数。
例如:12.3e3 ,123E2, 1.23e4。
注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。
定点小数是纯小数,约定的小数点位置在符号位之后、有效数值部分最高位之前。若数据x的形式为x=x0.x1x2…xn(其中x0为符号位,x1~xn是数值的有效部分,也称为尾数,x1为最高有效位),则在计算机中的表示形式为:
一般说来,如果最末位xn= 1,前面各位都为0,则数的绝对值最小,即|x|min= 2^(-n)。如果各位均为1,则数的绝对值最大,即|x|max=1-2^(-n)。所以定点小数的表示范围是:2^(-n)≤|x|≤1 -2^(-n)。

扩展资料
由于“编码总位数为8”的限制,真值-128无法用原码、反码来表示,似乎不能用上述规则来求解补码,但实际上是可行的——只要不管它的最高位即可,操作办法如下:
将128化为二进制为:1 0000000,最高位为1,可以只对舍去最高位后剩余的7位进行处理即可,首先取反得:1111111,加1得:1 0000000,最高位有进位需丢弃,即得:0000000,加上符号位就得补码:1 0000000。
又如,当编码总位数为4时,真值X=+0.101的原码、反码、补码均为:0 101。
真值X=-0.101的原码、反码、补码依次为:1 101、1 010、1 011。
同理,特例,-1的补码为:1 000。
在定点小数中,小数点隐含在第一位编码和第二位编码之间
定点小数,是指小数点准确固定在数据某个位置上的小数,从实用角度看,都把小数点固定在最高数据位的左边,小数点前边再设一位符号位。按此规则,任何一个小数都可以被写成 :N = NS . N-1 N-2 … N-M。
参考资料来源:百度百科-定点小数的表示方法

C语言中用于描述小数的数据类型是float和double,float类型表示单精度浮点数,double表示双精度浮点数。
C语言中浮点数常量有两种表示方式:
1、定点表示:(必须有小数点)
如:0.123,
.123,
123.0。
2、指数表示:(e或E之前必须有数字,指数必须为整数)如:12.3e3
,123E2,
1.23e4。
错误的写法:e-5
,1.2E-3.5,e3。
注意:浮点数常量默认为double类型,如果浮点数常量表示float类型,请在末尾添加小写的f或者大写的F,表示此常量为单精度浮点常量。
float
f1
=
1.1f;
//小写f
float
f2
=
1.1F;
//大写F
double
d
=
1.1;
//double类型

我想你的意思是这样的,a变量为浮点型数据(4.2),想得知其小数部分。
不知道是不是呢?
如果是的话,那么:
float
b
=
a-(int)(a);

怎么将c语言中一个浮点型数据的整数部分与小数部分提取出来
答:printf("请输入一个实数:"); //提示输入一个数 scanf("%lf",&number);zhengshu = (int)number;xiaoshu = number-zhengshu;printf("%f整数部分为:%d,小数部分为:%f \n",number,zhengshu,xiaoshu);return 0;}。程序执行结果:程序设计思路就是输入一个浮点数,把这个浮点强转为整数,C语言...

如何使用c语言输出浮点数
答:代码为:include <stdio.h>void main(){float x,y;printf("请输入长和宽:\n");scanf("%f,%f",&f,&f); //支持小数输入;printf("面积为:%.2f\n",x*y); //%.2f意思是取小数点后两位输出;printf("周长为:%.2f\n",(x+y)*2);} ...

c语言中保留两位小数如何写?
答:1、本文以sublime text3编辑器作为示范,先打开IDE。2、接着我们保存main.c文件。3、这个时候我们把内容输出,设置浮点型。也就是%f。4、但是输出的时候默认有多位小数。5、于是我们可以设置%.2f,也就是两位数,因为我们写了2。6、这个时候执行代码的时候就会看到只有两位小数了。

c语言中怎么把一个实数分解成整数部分和小数部分
答:include include void main(){ double F;double a;//存放整数部分 double b;//存放小数部分 printf("请输入一个浮点数:");scanf("%lf",&F);a=floor(F);b=F-a;printf("将该数分解后:\n");printf("整数部分:%lf\n",a);printf("小数部分:%lf\n",b);} ...

C语言中……“计算结果保留三位小数。”怎么表示?
答:printf("%7.3f",100/3.0);表示结果占七位,小数部分占3位,这样就可以了,并且小数点后第三位是四舍五入的结果。例如:C语言中浮点数输出精确到两位小数的语句如下:double a=2.0;printf ("%.2f", a);//其中.2指明两位小数 说明:如%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, ...

c语言的一个小数点问题
答:因为1和2都是整数,所以1/2=0;1.0是浮点数,2也被隐式传化成(系统默认双精度)浮点数,所以结果是就是一个浮点数。显然只有1.0/2才能计算出结果。我这没问题呀,就是6.000000嘛。

C语言中除法怎么取得小数?
答:4、float a,b,c;意思是设置三个名为a,b,c的浮点变量,区别于整形变量(int a,b,c;)和字符串变量(char a,b,c;),浮点变量是可以带小数的数值变量。5、scanf("%f",&a);表示将你输入的数字以带6位小数的形式储存于a中。6、c=a/b; 是一个赋值语句,意思是将a除以b的值给c。四则...

如何用c语言判断一个数为小数
答:如果是数值的话,那么将原始的数值减去取整后的数值如果大于0就表示有小数 if ((n - (int)n) > 0) return = true; 如果是字符串的话,有两种方法,一种是将字符串转换为数值后用上面说的方法判断,另一种是逐字判断是否包含字符小数点“.”...

从键盘输入一个数,将他的值保留3位小数,并对第四位小数四舍五入的c...
答:include <stdio.h> void main(){ double x;scanf("%lf",&x); //输入一个实数(double型的),格式必须是%lf printf("%.3f",x); //输出一个实数,格式可以为%f或者%lf }

c语言中怎么保留一位小数,且小数点后是0或5
答:1、在c语言中一个数保留1位小数可以通过精度限定符来完成,精度限定符有一个点号后跟一个整数组成。如果要限定小数点后面一位的类型为0或者5,可以使用先乘取整再除的方法进行操作。2、示例:include <stdio.h>int main(){ dobule a = 1.23456; a=(int)a*2; printf("%.1f\n", ...