1楼:匿名用户
隐式转换取整数部分,显式转换(int)取整数部分,ceil()向上取整。
foat a=11.8;
int b=a;
那么b=11;
c语言:int型的强制类型转换是按四舍五入吗?
2楼:跪着作揖
强制类型转换int的结果只保留整数部分,不是四舍五入。
例如:int 3.14,结果为3;
int 3.58,结果也为3。
int是将一个数值向下取整为最接近的整数的函数。int是数据库中常用函数中的取整函数,常用来判别一个数能否被另一个数整除。
扩展资料:
int 函数使用的注意事项:
1、 语法int(number)其中number是需要进行向下舍入取整的实数。
2、 int函数是不进行四舍五入,直接去掉小数部分取整。
3、int函数处理负数的小数时总是向上进位的。
标准规定int的最小取值范围是 -32767 到 32767。
int的取值范围因机器而异,但是一定要大于或者等于 -32767 到 32767。一般来说,int占用一个字的内存空间。因此,字长为 16 位(bit)的旧式 ibm 兼容机使用 16 位来储存整型int,取值范围是-32768 到 32767 。
目前的个人电脑一般都是 32 位字长的,这些电脑中,int一般也是 32 位的,取值范围是 -2147483648 到 2147483647。对于使用 64 位 cpu 的电脑,使用更多位储存int也是很自然的事情,取值范围当然也会更大。
3楼:匿名用户
作为函数,int函数指数据库中常用函数中的
“向下取整函数”。常用来取一个数中的整数部分。int是将一个数值向下取整为最接近的整数的函数。为取整函数。
意思是将被转换数直接截取整数部分,不进行四舍五入运算。例如:
int(123.456);//取值为123
int(-123.456);//取值为124
int(1234.56);//取值为1234
扩展资料:
除int外,其他强制转换有:
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果。(c89标准新增)
char:字符型类型数据,属于整型数据的一种。(k&r时期引入)
int:整型数据,表示范围通常为编译器指定的内存字节长。(k&r时期引入)
float:单精度浮点型数据,属于浮点数据的一种。(k&r时期引入)
double:双精度浮点型数据,属于浮点数据的一种。(k&r时期引入)
_bool:布尔型(c99标准新增)
_***plex:复数的基本类型(c99标准新增)
_imaginary:虚数,与复数基本类型相似,没有实部的纯虚数(c99标准新增)
_generic:提供重载的接口入口(c11标准新增)
修饰关键字:
short:修饰int,短整型数据,可省略被修饰的int。(k&r时期引入)
long:修饰int,长整型数据,可省略被修饰的int。(k&r时期引入)
long long:修饰int,超长整型数据,可省略被修饰的int。(c99标准新增)
signed:修饰整型数据,有符号数据类型。(c89标准新增)
unsigned:修饰整型数据,无符号数据类型。(k&r时期引入)
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(c99标准新增)
4楼:听不清啊
不是的。
c语言的int型的强制类型转换是截尾取整的。
即int x=(int)3.997;
x的值是3。
5楼:匿名用户
不会四舍五入,会直接截断取整数部分。
6楼:匿名用户
有四舍五入的情况,在你想要保留几位小数的时候,多余的紧接着的一位要四舍五入
不过c里面没有提供四舍五入的函数,不过你可以这样a = (int)(a*100 + 0.5)/100这只是一个小技巧,对a的第三位进行四舍五入比如将55.3351保留2位小数,第三位四舍五入,可以用a=(a*100+0.
5)/100.0或a=(int)(a*100+0.5)/100.
0,,,我的问题是,,两个都行吗?有什么区别,我做过实验,貌似没什么区别......
7楼:直接用用户名
不是 是舍弃小数部分
c语言中数值转换什么时候需要四舍五入,什么时候不需要?如3.1415926转换成%f就是3.141
8楼:匿名用户
1、实型内部之间的转换要四舍五入(例如双精度强制转换成单精度就要),如果实型转整型的话专,就直接去属掉小数部分就行了。
2、实数1234567.89赋值给单精度浮点型变量值怎么又成为1234567.80,原因是float的有效位为前七位,从第八位起,得到的数据都是不准确的。
c语言中什么运算只取整数部分,什么时候不但取整,还要四舍五入?? 发现c语言中很多时候不用四舍五入
9楼:梦羽天堂
取整要看类型的自动转换了,,比如a和b都是整形数据,那么a/b的结果就一定是整形。结果就取整数部分,如果其中有一个是浮点型,那么结果就是浮点型,但是不会四舍五入,如果需要四舍五入那么应该写成a/b+0.5.
自动转换的顺序是char,short,int,float,double,越往后优先级越高
10楼:狂
取整的话 还是要看数据类型的 int类型的除法就是取整的
至于四舍五入什么的 没有专门的规定 可以自己处理一下即可
11楼:匿名用户
定义int的时候就取整了
12楼:匿名用户
c语言里面都没有四舍五入。的都是只取整数部分。
13楼:鬼火狼烟
到底需要四舍五入还是直接取整不是程序说了算了,是根据实际情况说了算的这个要看你需要的结果了
比如说double x=1.3;
printf("%d",int(x)) 取整printf("%d",int(x+0.5)) 四舍五入
c语言中16进制在整型常量中表示用0还是
1楼 匿名用户 在c语言中16进制常量可以使用0x也可以使用0x如果使用0x的方式,那么在超过9的表示方式需要使用a f如果使用0x的方式,那么在超过9的表示方式需要使用a f同样,在输出方式中 x表示采用小写输出, x采用大写输出 2楼 我的账号很强大 2者都行,c里16进制数的写法,不区分大小写...