用于在 Swift 中定义位域的软件包。
在 package.swift
文件的 dependencies
部分添加以下代码行
.package(name: "BitField", url: "https://github.com/hughbe/SwiftBitField", from: "1.0.0")
要在你的库中使用该库,请 import BitField
。
使用 getBit(_ index:)
获取原始值中基于零的索引位置的位的布尔值。
let field = BitField(rawValue: 0b10101010)
XCTAssertFalse(field.getBit(0))
XCTAssertTrue(field.getBit(1))
XCTAssertFalse(field.getBit(2))
XCTAssertTrue(field.getBit(3))
XCTAssertFalse(field.getBit(4))
XCTAssertTrue(field.getBit(5))
XCTAssertFalse(field.getBit(6))
XCTAssertTrue(field.getBit(7))
使用 getBit(offset:count:)
获取原始值中从基于零的索引位置开始的一系列位的整数值。
let field = BitField(rawValue: 0b10101010)
XCTAssertEqual(0b10101010, field.getBits(offset: 0, count: 8))
XCTAssertEqual(0b101, field.getBits(offset: 1, count: 3))
XCTAssertEqual(0b1010101, field.getBits(offset: 1, count: 7))
XCTAssertEqual(0b1, field.getBits(offset: 7, count: 1))