C语言中float型数据怎么 取整数部分算法 或取小数部分

THANK you

分析如下:

一种简单的办法是直接强制转换到int型就是整数部分。减去这个int型就是小数部分了。

代码如下:

float n=12.223;
int x=(int)n;
float y=n-(float)x;

得出的x为数据的整数部分,y为数据的小数部分。

拓展资料

浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 excess-127 二进制指数和一个 23 位尾数。尾数表示一个介于 1.0 和 2.0 之间的数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在-3.4E+38 和 3.4E+38 之间的范围。

(资料来源:百度百科:FLOAT

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-26
一种简单的办法是直接强制转换到int型就是整数部分。
减去这个int型就是小数部分了。
第2个回答  2009-10-01
float x=1234.567,z;
long int y;

取整数部分: y = (int) x;
取小数部分: z = x - y;
第3个回答  推荐于2017-09-16
float n=12.223;
int x=(int)n;
float y=n-(float)x;本回答被提问者采纳
第4个回答  2009-10-01
小数取整
#include<stdio.h>
void main()
{float a,b;
int s;
scanf("%f%f",&a,&b);
s=a+b;
printf("%d%d\n",a,b);
}

C语言中float型数据怎么 取整数部分算法 或取小数部分
一种简单的办法是直接强制转换到int型就是整数部分。减去这个int型就是小数部分了。代码如下:float n=12.223;int x=(int)n;float y=n-(float)x;得出的x为数据的整数部分,y为数据的小数部分。

float的小数部分怎么求?
算法流程如下:1 定义两个统计变量,保存整数和以及所有数的和,初始化为0;2 遍历数组,求每个数的整数部分,并累加到整数和。3 同步计算每个数的和;4 遍历结束后,结果相减就是小数和;5 输出结果。参考代码如下:float a[10];int s_int = 0;float s_float = 0;int i;for(i = 0 ;i ...

c语言怎么分离出浮点型数据的小数部分
float a = 1.56;使用强制转换就可以向下取到float的整数部分 int inta = (int)a;然后取差值就可以了 float diff = a - inta;这样可以满足你的需求了

C语言中输入float型数据怎么 取整数部分算法 加上小数部分 如3.2=3...
机器数是二进制表示的,不是这样计算的,在c语言中可以用强制类型转换的方法改变类型的,如float型a取整用int型(int)a转换,小数部分用a-(int)a求得

浮点取整是用整数部分还是小数部分?
在C语言中,取浮点数的小数部分也有多种方法。一种方法是使用浮点数减去整数部分,得到小数部分。另一种方法是使用取模运算符(%),将浮点数转换成整数类型,并对取模运算符右边的数取绝对值,然后将结果转换回浮点数。需要注意的是,浮点数的精度问题可能会影响到这两个操作的结果。在进行浮点数运算...

frame的数值如果是浮点数,该怎么取舍只保留小数点后1位
C语言规定,当浮点数强制转换为整型类型时,只保留整数部分。所以对于浮点数,比如float类型a, 执行(int)a后的值就是整数部分。这样当执行a-(int)a时,得到的就是小数部分的值了。如果该功能经常使用,那么可以定义一个带参数的宏 define DECIMAL(X) (x-(int)x)这样执行DECIMAL(a)得到的值就是t...

在C语言中有没有什么样的方法能求出一个小数的小数部分
a-=(int)a;(int)a将a强制转换为正整数,直接舍弃小数部分。执行上面的a-=(int)a; 得到的a不就是原来的小数部分么?我说的明白?

C语言浮点型转换为整型怎么转换的?
C语言有以下几种取整方法:1、直接赋值给整数变量。如:int i = 2.5; 或 i = (int) 2.5;这种方法采用的是舍去小数部分,能用于你的问题。2、C\/C++中的整数除法运算符“\/”本身就有取整功能(int \/ int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,能用于你...

C语言程序设计:输入浮点数12.5分别输出它的整数数部分和小数部分!
回答:这个进行转换就能完成 代码如下: #include <stdio.h>int main(){float a,c;int b;printf("请输入一个小数:"); scanf("%f",&a);b = (int)(int)(a+1.0e-6);;c=a-b; printf("\\n\\n输入的是:%f 整数是:%d 小数是:%f\\n\\n",a,b,c); }

解说float取值范围计算过程
存储时,指数部分c=1+127=128,尾数部分是01000000000000000000000,最终存储为0 10000000 01000000000000000000000。2.5: 整数部分0010,小数部分0.5转换为1,科学计数法表示为1.01x2^1。指数c=128,尾数01,所以存储为0 10000000 01。3. float取值范围的计算要了解float的取值范围,关键在于指数的最大值...

相似回答