iOS 进制、位运算符

文章介绍了iOS编程中不同进制表示(十六进制、八进制、二进制)及其转换,以及位运算符的使用,包括左移位(<<)、右移位(>>)、按位与(&)、按位或(|)、按位取反(~)和按位异或(^)的操作示例。
摘要由CSDN通过智能技术生成

进制

十六进制(0x):0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f。
八进制(0o):0、1、2、3、4、5、6、7
二进制(0b):0、1

let a = 0x1 // 1
let b = 0x10 // 16
let c = 0o1 // 1
let d = 0o10 // 8
let e = 0b1 // 1
let f = 0b10 // 2
let g = 1 // 1
let h = 10 // 10

如果在数字前方加入对应的进制前缀,则表示当前值需要通过对应的进制转换成十进制的值。如果将这个值赋值给一个变量,则这个变量是Int类型。

如果没有将值赋值给一个变量,而是直接拼接到一个Array<UInt8>类型的数组里面,这个值会自动识别成UInt8类型的值。

let array = Array<UInt8> = []
array.append(0xff)
// 可以成功插入

位运算符

逻辑运算符都是将值转成二进制后,二进制每一位进行处理。

按位移运算符 <<>>

// << 左移位,移动几位在后面加几个零。
let a = 0b101 << 1 // 0b1010 = 10
// >> 右移位,移动几位删除后面几位。
let b = 0b101 >> 1 // 0b10 = 2

按位与运算符 &

// 0b101 和 0b111相同位置都为1,则结果为1,否则为0。
let a = 0b101 & 0b111 // a = 5(0b101)

按位或运算符 |

// 0b101 和 0b111相同位置只要有一个为1,则结果为1,否则为0。
let a = 0b101 & 0b111 // a = 7(0b111)

按位取反运算符 ~

// 0b101每一位上1变为0,0变为1。
let a = ~0b101 // a = 2(0b010)

按位异或运算符 ^

// 0b101 和 0b111相同位置只要值不相等,则结果为1,否则为0。
let a = 0b101 & 0b111 // a = 2(0b010)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值