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

Python015

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

分析如下:

一种简单的办法是直接强制转换到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)

C语言有以下几种取整方法: 1、直接赋值给整数变量。如: int i = 2.5或 i = (int) 2.5这种方法采用的是舍去小数部分,能用于你的问题。 2、C/C++中的整数除法运算符“/”本身就有取整功能(int / int),而下面介绍的取整函数返回值是double。整数除法对正数的取整是舍去小数部分,能用于你的问题。不过整数除法对负数的取整结果和使用的C编译器有关。 3、使用floor函数。floor(x)返回的是小于或等于x的最大整数。如: floor(2.5) = 2 floor(-2.5) = -3 4、使用ceil函数。ceil(x)返回的是大于x的最小整数。如: ceil(2.5) = 3 ceil(-2.5) = -2 floor()是向负无穷大舍入,floor(-2.5) = -3;ceil()是向正无穷大舍入,ceil(-2.5) = -2。floor函数能用于你的问题。5、int b = (int)a//取整int c = (int)(a+0.5)//四舍五入