1. 在c语言中有没有什么样的方法能求出一个小数的小数部分
a-=(int)a;
(int)a将a强制转换为正整数,直接舍弃小数部分。
执行上面的a-=(int)a; 得到的a不就是原来的小数部分么?
我说的明白?
2. C语言中如何求小数
如果要求小数,数的定义必须为float或double类型。
3. c语言如何取小数,比如说输入1.23输出23,输入1.001输出001;我这个不对,求大神
你的程序没有错。
问题是浮点数本来就是不能精确表示的。
比如输入1.23,那么在xj=m-temp;这一句执行后,在VC里用F5调试的时候,你会发现xj的值不是0.23,而是0.22999999999……。
所以你的程序没有错,只是纯粹是理论上的。
4. C语言求最小数的问题
c语言中用来存储小数的doube(双精度数)是8个字节。整数部分4个字节,小数部分4个字节。
4个字节一共能够表达4294967296个数字,而小数中0到1之间有无穷个小数,所以计算机是无法表示真正精确的小数的。
5. 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; //小写f
float f2 = 1.1f; //大写f
double d = 1.1; //double类型
6. 求C语言小数精确计算
你好,在编程中不要指望去得到一个精确的数字,而应该是顶一个误差范围(相对误差)。如 double eps = 0.000000001;然后再把数字与 eps 比较。
if((68 - n)<eps)即认为 n = 68;。当然,这是人工处理。如果想得到精确数字,可以用 Boost 库。
7. C语言中除法怎么取得小数
1、打开C-Free,新建文件。
8. 如何用c语言计算小数点后位数
这个要看小数按什么格式输入。
如果按%s输入,也就是按字符串格式输入,先找到小数点的位置,然后统计下小数点后数字的长度。
具体实现可参考:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain(intargc,char*argv[])
{
chara[128];
while(scanf("%s",a)!=EOF)
{
if(strstr(a,".")!=NULL)
printf("%d ",strlen(strstr(a,".")+1));
else
printf("0 ");
}
system("pause");
return0;
}
这是最后一个已经出现错误,所以遇到要精确判断小数点的位数,最好直接按字符串读入,这和图灵机的工作原理暗暗相合。
9. 如何用c语言计算小数点后位数(float本身都无法精确)
float以10进制只有7个有效数字,如果你存的数大于7位那么一定会不准确,小于7位的就准确,其实float只有前7位有意义,有时会只有6位有意义。。。 也就是说你只用用7-整数位数就行,如果整数位为0,那么你只需要7+第一个不是0的小数所在位置即可,即此时小树位数是大于7的,但有效数字个数仍然是7。。。。
10. C语言中除法怎么取得小数
除了一开始用float进行定义之外,后面进行除法运算的时候要加.0,否则算出的结果电脑会自动取整~~如:3/2的结果和3.0/2的结果就不同~~因为没有定义3/2为浮点型,所以3/2自动取整,结果等于1而3.0/2,由于预先用浮点型表示其结果显然为:1.5 除法运算符" / ",如果是两个整数相除结果为整数如果需要保留小数时 必须将其中一个除数转换为浮点数 #i nclude <stdio.h> #i nclude <math.h> main() { float x; float y; printf("Enter x:"); scanf("%d",&x); y=fabs((5*x+1)/(x*x+1)); printf("y is %f\n",y); } 或者 #i nclude <stdio.h> #i nclude <math.h> main() { int x; float y; printf("Enter x:"); scanf("%d",&x); y=fabs((float)(5*x+1)/(x*x+1)); printf("y is %f\n",y); }