《swift2.0 官方教程中文版》 第2章-25高级运算符

本文详细介绍了Swift中的高级运算符,包括位运算符如按位取反、按位与、按位或、按位异或及移位运算符,并通过实例展示了它们的使用方法。此外,还提及了溢出运算符和自定义运算符函数的应用,以及运算符的优先级和结合性。
摘要由CSDN通过智能技术生成


import Foundation


/*位运算符***********************************************/

//按位取反运算符

//按位取反运算符( ~ ) 可以对一个数值的全部位进行取反:

//按位取反操作符是一个前置运算符,需要直接放在操作数的之前,并且它们之间不能添加任何空格。

let initialBits: UInt8 = 0b00001111

let invertedBits = ~initialBits

// 等于 0b11110000


//按位与运算符

//按位与运算符( & )可以对两个数的比特位进行合并。它返回一个新的数,只有当两个操作数的对应位都为 1 时候,该数的对应位才为 1

let firstSixBits: UInt8 = 0b11111100

let lastSixBits: UInt8 = 0b00111111

let middleFourBits = firstSixBits & lastSixBits

// 等于 00111100


//按位或运算符

//按位或运算符( | )可以对两个数的比特位进行比较。它返回一个新的数,只要两个操作数的对应位中有任意一个为 1 ,该数的对应位就为 1

let someBits: UInt8 = 0b10110010

let moreBits: UInt8 = 0b01011110

let combinedbits = someBits | moreBits

// 等于 11111110


//按位异或运算符

//按位异或运算符( ^ )可以对两个数的比特位进行比较。它返回一个新的数,当两个操作数的对应位不相同时, 数的对应位就为 1 :

let firstBits: UInt8 = 0b00010100

let otherBits: UInt8 = 0b00000101

let outputBits = firstBits ^ otherBits

// 等于 00010001


//按位左移/右移运算符

//按位左移运算符( << )和按位右移运算符( >> )可以对一个数进行指定位数的左移和右移,但是需要遵守下面定义的规则。

//对一个数进行按位左移或按位右移,相当于对这个数进行乘以 2 或除以 2 的运算。将一个整数左移一位,等价于 将这个数乘以 2,同样地,将一个整数右移一位,等价于将这个数除以 2

//对无符号整型进行移位的规则如下:

//1. 已经存在的比特位按指定的位数进行左移和右移。

//2. 任何移动超出整型存储边界的位都会被丢弃。

//3. 0 来填充移动后产生的空白位。

//这种方法称为逻辑移位( logical shift )


let shiftBits: UInt8 = 4 // 即二进制的<

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值