(记录)绝对值的实现
这篇记录绝对值函数的几个实现方法.
第一种实现方法
double Abs(double Num)
{if(Num < 0)Num = -Num;return Num;
}
也可以写成
double Abs(double Num)
{return Num < 0 ? -Num : Num;
}
第二种实现方法
这种是利用逻辑或和逻辑与的"短路"原理
double Abs(double Num)
{Num >= 0 || (Num = -Num);return Num;
}
也可以写成
double Abs(double Num)
{Num < 0 && (Num = -Num);return Num;
}
第三种实现方法
这种是利用整数在C中以补码存储的原理来实现
负数补码的最高位是1,非负数补码的最高位是0
将最高位位移到最低位以后,和1进行与运算,这样就可以使得非负数得0,负数得1.
int Sgn(double Num) /* 非负数返回1 负数返回-1 */
{int result;long long Num1;Num1 = (long long)Num;result = Num1 >> (8 * sizeof(Num1) - 1) & 1;return ++(result *= -2);
}
double Abs(double Num)
{return Num * Sgn(Num);
}
(记录)绝对值的实现相关推荐
- 使用 Spring Boot 快速构建 Spring 框架应用
https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/index.html Spring 框架对于很多 Java 开发人员来说都不陌生 ...
- 使用 Spring Boot 快速构建 Spring 框架应用--转
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...
- 【Codeforces】 Round #374 (Div. 2)
Position:http://codeforces.com/contest/721 我的情况 开始还是rank1,秒出C.(11:00机房都走光了,我ma到11:05才走,只打了一个小时) 结果.. ...
- 2020 乐山师范学院新生程序设计大赛题解
2020 乐山师范学院新生程序设计大赛题解 A 数组求和 中等难度 题目大意: 给定一个数组,执行若干次操作,每次操作可以把两个相邻的数变成相反数,求数组最大的和. 解题思路: 这其实是一个思维题,认 ...
- 杭电2022 海选女主角
用一个结构体,一个成员数据记录原来的值,一个记录绝对值!!! Problem Description potato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业余时间挣点外快以养家糊口. &q ...
- 杭电oj刷题2022
Problem Description potato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业余时间挣点外快以养家糊口. "做什么比较挣钱呢?筛沙子没力气,看大门又不够帅...& ...
- CCF CSP 2019-09-2 小明种苹果(续) 解题思路及满分代码(C++11)
文章目录 问题描述 问题分析 满分代码 问题描述 问题分析 题目不难理解,求T(苹果的总数)和E(有苹果掉落的树的个数)也没什么难度,遍历数组进行判断就可以实现,这里略过(后面完整代码注释里会有). ...
- 2 分 31 秒,腾讯云创造 128 卡训练 ImageNet 新记录
来源 | 腾讯云 编辑 | 白峰 转自 | 新智元 8月21日,腾讯云正式对外宣布成功创造了128卡训练ImageNet业界新记录,以2分31秒的成绩一举刷新了这个领域的世界记录. 刷新世界纪录:2分 ...
- 求数的绝对值一定是正数_人教版七年级数学上册1.2.4绝对值同步练习
同步练习 1.2.4 绝对值 基础检测: 1.-8的绝对值是 ,记做 . 2.绝对值等于5的数有 . 3.若︱a︱= a , 则 ...
最新文章
- mysql数据库实验报告jdbc_Jdbc连接数据库实验报告(2)
- 刀片服务器提升三要点
- setTimeOut与 setInterval区别
- Python环境的安装
- 云顶之弈小程序 置顶工具(附源码)
- 我的第一次随笔——胡桂玲
- 万能模拟器eve-ng介绍
- TD-SCDMA迫零块线性均衡
- mysql是bsd协议吗_开源许可证 GPL、BSD、MIT、Mozilla、Apache 和 LGPL 的区别
- 将腾讯云的云服务器迁移至轻量云服务器Ubuntu
- 怎么做网站推广-网站推广100种方法
- poj2248 DFS+剪枝 or BFS
- android obb在哪,安卓手机如何打开.obb文件?
- 艾美捷利妥昔单抗Rituximab参数及应用
- 内存缓存和LruCache
- erp系统 服务器在哪里的,云erp服务器在哪
- 数学建模清风微信公众号的习题答案(挑战篇-数据异常值处理)
- java中画三角形的方法_java画谢尔宾斯基三角形
- 程控电阻白皮书(一)
- org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/comp
热门文章
- ssm学生请假管理小程序
- ​FPGA便捷开发-TCL商店(开源)
- 线性代数 --- 线性代数基本定理下(四个基本子空间两两正交且互为正交补)
- 03 - 滤波器组典型相关分析(Filter bank canonical correlation analysis,fbcca)
- 职场摸爬滚打的卑微软件测试工!外包干了三年后,我废了...
- Eclipse体系结构介绍(一)
- 码农的半衰期只有15年?
- 质量冷知识:TRIZ,一个被人忽略的管理工具
- 安卓仿苹果音量调节_android自定义view仿照MIUI中音量控制效果
- 片偏移怎么计算_计算机网络学习笔记(四)之网络层