《编写高质量代码:改善c程序代码的125个建议》——建议12-5:尽量将浮点除法转化为相应的整数除法运算

简介:

本节书摘来自华章计算机《编写高质量代码:改善c程序代码的125个建议》一书中的第2章,建议12-5,作者:马 伟 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

建议12-5:尽量将浮点除法转化为相应的整数除法运算

有时候,如果不能够在代码中避免除法运算,那么尽量使除数和被除数是无符号类型的整数。实际上,有符号的除法运算执行起来比无符号的除法运算更加慢,因为有符号的除法运算要先取得除数和被除数的绝对值,再调用无符号除法运算,最后再确定结果的符号。
同时,对于浮点除法运算,可以先将浮点除法运算转化为相应的整数除法运算,最后对结果进行相应处理。例如,可以将浮点除法运算的分子和分母同时放大相同的倍数,就可以将浮点除法运算转换成相同功能的整数除法运算。

相关文章
|
设计模式 测试技术 编译器
C++项目中打破循环依赖的锁链:实用方法大全(一)
C++项目中打破循环依赖的锁链:实用方法大全
1233 0
|
存储 设计模式 编译器
【C/C++ 虚函数以及替代方案】C++ 虚函数的使用开销以及替代方案(一)
【C/C++ 虚函数以及替代方案】C++ 虚函数的使用开销以及替代方案
660 0
|
4月前
|
安全 算法 数据安全/隐私保护
远控安全进阶之战:TeamViewer/ToDesk/向日葵设备安全策略对比
在数字化时代,卓越的远程控制软件需兼顾功能与体验,包括流畅连接、高清画质、低门槛UI设计、毫秒级延迟及多功能性,同时要有独树一帜的远控安全技术,通过前瞻性安全策略阻挡网络风险,为用户打造全方位安全体验,在基础安全防护上不断创新。本文选取了当下热门的TeamViewer、ToDesk、向日葵三款远程控制软件,从软件介绍、远控安全策略等多个维度进行深入对比,以呈现一场精彩的远控软件安全进阶“大比拼”。
345 13
|
设计模式 中间件 程序员
【C/C++ 奇异递归模板模式 】C++中CRTP模式(Curiously Recurring Template Pattern)的艺术和科学
【C/C++ 奇异递归模板模式 】C++中CRTP模式(Curiously Recurring Template Pattern)的艺术和科学
762 3
|
机器学习/深度学习 算法 PyTorch
深度学习在人脸识别技术中的最新进展
深度学习在人脸识别技术中的最新进展
|
机器学习/深度学习 人工智能 算法框架/工具
深入浅出:使用深度学习进行图像分类
【8月更文挑战第31天】在本文中,我们将一起探索如何利用深度学习技术对图像进行分类。通过简明的语言和直观的代码示例,我们将了解构建和训练一个简单卷积神经网络(CNN)模型的过程。无论你是初学者还是有一定基础的开发者,这篇文章都将为你提供清晰的指导和启发性的见解,帮助你理解并应用深度学习解决实际问题。
|
11月前
|
机器学习/深度学习 运维 监控
深度学习之异常检测
基于深度学习的异常检测是一项重要的研究领域,主要用于识别数据中的异常样本或行为。异常检测广泛应用于多个领域,如网络安全、金融欺诈检测、工业设备预测性维护、医疗诊断等。
724 2
|
算法 机器人
|
定位技术
GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm)
GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm)
2186 0
GIS系列专题(2):Clipper计算机图形库使用说明(Vatti‘s clipping algorithm)
|
Ubuntu Linux
Ubuntu 20.04安装中文输入法和切换中文系统
Ubuntu 20.04安装中文输入法和切换中文系统
8707 1