这篇记录绝对值函数的几个实现方法.
第一种实现方法

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);
}

(记录)绝对值的实现相关推荐

  1. 使用 Spring Boot 快速构建 Spring 框架应用

    https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/index.html Spring 框架对于很多 Java 开发人员来说都不陌生 ...

  2. 使用 Spring Boot 快速构建 Spring 框架应用--转

    原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...

  3. 【Codeforces】 Round #374 (Div. 2)

    Position:http://codeforces.com/contest/721 我的情况 开始还是rank1,秒出C.(11:00机房都走光了,我ma到11:05才走,只打了一个小时) 结果.. ...

  4. 2020 乐山师范学院新生程序设计大赛题解

    2020 乐山师范学院新生程序设计大赛题解 A 数组求和 中等难度 题目大意: 给定一个数组,执行若干次操作,每次操作可以把两个相邻的数变成相反数,求数组最大的和. 解题思路: 这其实是一个思维题,认 ...

  5. 杭电2022 海选女主角

    用一个结构体,一个成员数据记录原来的值,一个记录绝对值!!! Problem Description potato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业余时间挣点外快以养家糊口. &q ...

  6. 杭电oj刷题2022

    Problem Description potato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业余时间挣点外快以养家糊口. "做什么比较挣钱呢?筛沙子没力气,看大门又不够帅...& ...

  7. CCF CSP 2019-09-2 小明种苹果(续) 解题思路及满分代码(C++11)

    文章目录 问题描述 问题分析 满分代码 问题描述 问题分析 题目不难理解,求T(苹果的总数)和E(有苹果掉落的树的个数)也没什么难度,遍历数组进行判断就可以实现,这里略过(后面完整代码注释里会有). ...

  8. 2 分 31 秒,腾讯云创造 128 卡训练 ImageNet 新记录

    来源 | 腾讯云 编辑 | 白峰 转自 | 新智元 8月21日,腾讯云正式对外宣布成功创造了128卡训练ImageNet业界新记录,以2分31秒的成绩一举刷新了这个领域的世界记录. 刷新世界纪录:2分 ...

  9. 求数的绝对值一定是正数_人教版七年级数学上册1.2.4绝对值同步练习

    同步练习 1.2.4 绝对值 基础检测: 1.-8的绝对值是         ,记做             . 2.绝对值等于5的数有                . 3.若︱a︱= a  , 则 ...

最新文章

  1. mysql数据库实验报告jdbc_Jdbc连接数据库实验报告(2)
  2. 刀片服务器提升三要点
  3. setTimeOut与 setInterval区别
  4. Python环境的安装
  5. 云顶之弈小程序 置顶工具(附源码)
  6. 我的第一次随笔——胡桂玲
  7. 万能模拟器eve-ng介绍
  8. TD-SCDMA迫零块线性均衡
  9. mysql是bsd协议吗_开源许可证 GPL、BSD、MIT、Mozilla、Apache 和 LGPL 的区别
  10. 将腾讯云的云服务器迁移至轻量云服务器Ubuntu
  11. 怎么做网站推广-网站推广100种方法
  12. poj2248 DFS+剪枝 or BFS
  13. android obb在哪,安卓手机如何打开.obb文件?
  14. 艾美捷利妥昔单抗Rituximab参数及应用
  15. 内存缓存和LruCache
  16. erp系统 服务器在哪里的,云erp服务器在哪
  17. 数学建模清风微信公众号的习题答案(挑战篇-数据异常值处理)
  18. java中画三角形的方法_java画谢尔宾斯基三角形
  19. 程控电阻白皮书(一)
  20. org.eclipse.jdt.internal.compiler.CompilationResult.getProblems()[Lorg/eclipse/jdt/core/comp

热门文章

  1. ssm学生请假管理小程序
  2. ​FPGA便捷开发-TCL商店(开源)
  3. 线性代数 --- 线性代数基本定理下(四个基本子空间两两正交且互为正交补)
  4. 03 - 滤波器组典型相关分析(Filter bank canonical correlation analysis,fbcca)
  5. 职场摸爬滚打的卑微软件测试工!外包干了三年后,我废了...
  6. Eclipse体系结构介绍(一)
  7. 码农的半衰期只有15年?
  8. 质量冷知识:TRIZ,一个被人忽略的管理工具
  9. 安卓仿苹果音量调节_android自定义view仿照MIUI中音量控制效果
  10. 片偏移怎么计算_计算机网络学习笔记(四)之网络层