C语言中 两个整形相除是不是自动四舍五入?

 我来答
四舍五不入6
高粉答主

2020-05-04 · 醉心答题,欢迎关注
知道答主
回答量:147
采纳率:100%
帮助的人:2万
展开全部

所谓的整形,就是取整数部分。

 如果a=3.98,则 int a=3。a=58.49,则 int a=58。取整只看整数部分取值,而不是四舍五入。

C语言中,一般而言整型数是双字节,所以:

有符号型:最大 32767,最小 -32768

无符号型:内最大 65535,最小 0

但对于C++,面对32位机时,整型容数变成了双字,所以:

有符号型:最大 2147483647,最小 -2147483648

无符号型:最大 4294967295,最小 0

扩展资料:

c语言中长整型常量的数值范围最小是十进制的-2147483647~+2147483647,在计算机中最少占用4个字节。字节长度跟操作系统和编译器抄有关,longint长度至少32位,而64位类Unix系统为64位。

c语言中整型常量是通常的整数,包括正整数、负整数和0,其数据类袭型显然是整型。整型常量内存大小和数值范围取决于编译器。

参考资料来源:百度百科-整型常量

匿名用户
2013-07-25
展开全部
不是四舍五入,比如1/2 结果为0(实际为0.5,怎么可能是四舍五入?)。两个整形数相处(确保除数不为0),结果的类型还是整形integer(即int),还是1/2,数学上为0.5,那么按照整形类型向0靠近则为0。15/2为7,数学上为7.5,是同一个道理~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2018-02-28
展开全部
不是四舍五入,而是截断小数,只取整数部分,也就是整除。。
比如 18/10 的结果是 1,而不是 1.8 四舍五入之后的 2。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
暴风一号VBS
2017-07-10 · TA获得超过215个赞
知道答主
回答量:80
采纳率:100%
帮助的人:25万
展开全部
不是,只有浮点才会
例如:printf("%d",5/2); 就会输出2 而不是3(四舍五入:5/2 = 2.5 四舍五入后就是3)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你丶好
2017-08-04 · 超过26用户采纳过TA的回答
知道答主
回答量:88
采纳率:87%
帮助的人:34.2万
展开全部
C语言中 两个整形相除不是自动四舍五入
不够的部分是直接舍去的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式