热门标签 | HotTags
当前位置:  开发笔记 > IOS > 正文

Swift学习笔记-基本运算符(BasicOperators)-求余运算符

求余运算(a%b)是计算b的多少倍刚刚好可以容入a,返回多出来的那部分(余数)。注意:求余运算(%)在其他语言也叫取模运算。然而严格说来,我们看该运算符对负数的操作结果,求余比取模

求余运算(a % b)是计算b的多少倍刚刚好可以容入a,返回多出来的那部分(余数)。

注意:
求余运算(%)在其他语言也叫取模运算。然而严格说来,我们看该运算符对负数的操作结果,"求余"比"取模"更合适些。

我们来谈谈取余是怎么回事,计算9 % 4,你先计算出4的多少倍会刚好可以容入9中:

2倍,非常好,那余数是1(用橙色标出)

在 Swift 中可以表达为:

9 % 4    // 等于 1

 

为了得到a % b的结果,%计算了以下等式,并输出余数作为结果:

a = (b × 倍数) + 余数

 

倍数取最大值的时候,就会刚好可以容入a中。

94代入等式中,我们得1

9 = (4 × 2) + 1

 

同样的方法,我们来计算 -9 % 4

-9 % 4   // 等于 -1

 

-94代入等式,-2是取到的最大整数:

-9 = (4 × -2) + -1

 

余数是-1

在对负数b求余时,b的符号会被忽略。这意味着 a % b 和 a % -b的结果是相同的。

浮点数求余计算

不同于 C 语言和 Objective-C,Swift 中是可以对浮点数进行求余的。

8 % 2.5   // 等于 0.5

这个例子中,8除于2.5等于30.5,所以结果是一个Double0.5

 


推荐阅读
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • 本文探讨了在iOS平台上开发BLE(蓝牙低功耗)应用程序时遇到的挑战,特别是如何实现应用在后台模式下仍能持续扫描并连接蓝牙设备。文章提供了具体的配置方法和常见的问题解决方案。 ... [详细]
  • 在使用 iOS 应用时,遇到网络请求错误是常见的问题。本文将探讨两种常见的错误代码 -1003 和 -1001,并提供详细的解释和解决方案。 ... [详细]
  • 本文介绍了如何在Swift 3.0中实现对设备识别码(DeviceNo)和用户账号ID(AccountId)的获取及存储。通过使用系统提供的UserDefaults服务,我们能够有效地管理这些关键数据,确保应用在不同场景下的稳定性和用户体验。 ... [详细]
  • 在Swift项目中集成Objective-C类或第三方框架的方法
    本文通过实例讲解如何在Swift项目中引入并使用Objective-C编写的ProgressHUD库。首先需要在项目中添加库文件,并设置Objective-C桥接头文件以实现语言间的互操作性。 ... [详细]
  • 本文介绍了iOS应用开发的主要框架,包括Foundation、UIKit、CoreData及CoreGraphics等,并探讨了开发iOS应用所需的硬件和软件环境,以及推荐的编程语言。 ... [详细]
  • 本文旨在探讨Swift中的Closure与Objective-C中的Block之间的区别与联系,通过定义、使用方式以及外部变量捕获等方面的比较,帮助开发者更好地理解这两种机制的特点及应用场景。 ... [详细]
  • 在 Swift 编程中,遇到错误提示“一元运算符 '!' 不能应用于 '()' 类型的操作数”,通常是因为尝试对没有返回值的方法或函数应用逻辑非运算符。本文将详细解释该错误的原因,并提供解决方案。 ... [详细]
  • 我在项目中发现设置了 GCC_NO_COMMON_BLOCKS = NO 的配置项,位于 Apple LLVM 编译器 3.1 的代码生成设置中。 ... [详细]
  • 作为一名在大型手机游戏公司工作的程序员,尽管主要负责游戏逻辑和内容的开发,但对iOS底层开发接触较少。现在有了iPhone和可以虚拟MAC环境的电脑,希望能找到有效的iOS开发学习路径。 ... [详细]
  • iOS 10 系统下 AVPlayer 视频播放故障排除
    在使用 iOS 10 系统时,如果遇到 AVPlayer 无法正常播放视频的问题,这可能是由于 Xcode 中异常处理设置不当导致的。本文将详细探讨如何调整 Xcode 设置以解决这一问题。 ... [详细]
  • 本文详细介绍了如何在iOS5中创建和理解简单的Hello World应用,包括Interface Builder的使用、Objective-C源代码文件的结构以及事件处理机制。 ... [详细]
  • 重写init方法后,属性声明后为什么不为nil? ... [详细]
  • 使用Objective-C实现苹果官方NSLayoutConstraint页面布局
    本文详细介绍了如何在iOS开发中使用Objective-C语言通过NSLayoutConstraint来实现页面布局。示例代码展示了如何创建和应用约束,以确保界面元素能够正确地响应不同屏幕尺寸的变化。 ... [详细]
  • 本文详细介绍了Objective-C中的面向对象编程概念,重点探讨了类的定义、方法的实现、对象的创建与销毁等内容,旨在帮助开发者更好地理解和应用Objective-C的面向对象特性。 ... [详细]
author-avatar
无心之无心
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有