美文网首页
关于Python3与Swift“%”运算符不同特性小记

关于Python3与Swift“%”运算符不同特性小记

作者: 茄子星人 | 来源:发表于2019-07-15 21:51 被阅读0次

在用Swift写算法的时候发现自己用Python3写的正常运行的算法代码,使用Swift复刻后无论如何都有数据上的错误,仔细研究才发现是Python3和Swift的“%”运算符的实现效果并不完全相同,做个笔记。

虽然两种语言在正数上的余运算结果相同但负数运算却相差甚远。

//Python3
num = -10
num %= 4
print(num)
//运算结果为 2
//Swift
var num = -10
num %= 4
print(num)
//运算结果为 -2

虽然看起来Python3是取绝对值后再进行运算得出2,而Swift是对值运算完后取负但实际上不是如此。

//Python3
num = -5
num %= 4
print(num)
//运算结果为 3
//Swift
var num = -5
num %= 4
print(num)
//运算结果为 -1

Python3的"%"运算实际效果是-5 -%运算-> -1 -与被余数相加-> 3
而Swift则是-5 -%运算-> -1
不知道自己有没有理解错误。

相关文章

  • 关于Python3与Swift“%”运算符不同特性小记

    在用Swift写算法的时候发现自己用Python3写的正常运行的算法代码,使用Swift复刻后无论如何都有数据上的...

  • swift 运算符

    Swift 基本运算符 标签(空格分隔): swift 运算符 zybuluo swift 运算符 特性 赋值运算...

  • 第三章:运算符

    1、逻辑运算符 与c、c++、java、swift等语言不同,python逻辑运算符不是&&,||,!等符号,而是...

  • Swift基础13

    高级运算符 与c语言中的算术运算符不同,Swift中的算术运算符默认是不会溢出的。所以溢出行为都会被捕获并报告为错...

  • OC与swift的区别

    OC与Swift的区别一(文件结构) OC与Swift的区别一(常量、变量、运算符) OC与Swift的区别三(条...

  • 01-swift爬坑笔记

    swift简介 内容综述-基础语法和特性 01-swift简介 02-基础数据类型 03-运算符和表达式 04-流...

  • OneDayOneSwift[2] - Basic Operat

    Something Different Swift 支持大部分标准 C 语言的运算符,且改进许多特性来减少常规编码...

  • Python 自增和语言的设计原理

    Python3 运算符 - 笔记列表 python 没有自增运算符,自增操作是如何实现的。关于自增操作,pytho...

  • 2_基本运算符

    赋值运算符 = 这个特性使你无法把(==)错写成(=),由于 if x = y 是错误代码,Swift 能帮你避免...

  • swift重温笔记(基本运算符)

    运算符是检查、改变、合并值的特殊符号或短语。 Swift 支持大部分标准 C 语言的运算符,且改进许多特性来减少常...

网友评论

      本文标题:关于Python3与Swift“%”运算符不同特性小记

      本文链接:https://www.haomeiwen.com/subject/brookctx.html