求两个int类型的数的平均值?(返回值也是int)
来源:互联网 发布:2017年阳春市网络问政 编辑:程序博客网 时间:2024/06/05 09:16
1: 通常情况我们会这样写:
int avg(int a, int b){
return (a+b)/2;
}
为什么我们很少考虑到类型溢出呢?a+b有可能大于int的范围啊?
有人说,讲int类型转化为float,显然不科学,效率会下降。
2:正确的做法:
int
avg(
int
a,
int
b)
{
//如果是一正一负
if
((a < 0) != (b < 0))
return
(a + b) / 2;
else
return
a + (b - a) / 2; //如果两个符号相同
}
下面是测试结果,超过数据类型的最大范围,然后计算结果就出问题了。
0 0
- 求两个int类型的数的平均值?(返回值也是int)
- 求两个int之间较小的数
- 求两个数的平均值
- 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- 传入a,b两个int类型的变量,返回两个值的最大公约数
- 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数
- Java对两个int类型求百分比的方法
- java实现两个int类型的数的交换
- 求int类型的使用(新手)?
- C/C++求两个数的平均值
- 位运算求两个数的平均值
- 位运算求两个数的平均值
- 怎样正确求两个数的平均值?
- C#学习笔记。。创建重载方法,求两个数的乘积,参数类型分别为int,float,double
- C语言 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- C语言实现 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- 求两个int变量的最大公约数
- swap两个int指针指向的数
- JDBC 实现 事务管理
- 读《About Face 4 交互设计精髓》1
- 为何重构
- Eclipse Java EE 安装插件:字体颜色皮肤
- 基础知识 打印图形及常见问题
- 求两个int类型的数的平均值?(返回值也是int)
- timeout
- java中error和exception
- 女乒种子已确定 丁宁暂无威胁李晓霞遭遇冯天薇
- 理解RxJava的线程模型
- springmvc返回json格式数据报406错误
- SharedPreferences
- SSH网上商城
- 照片美化