Панды set_index не устанавливает индекс

Вы должны работать с целыми целыми знаками:

let bytes: [UInt8] = [255, 251]
let uInt16Value = UInt16(bytes[0]) << 8 | UInt16(bytes[1])
let uInt8Value0 = uInt16Value >> 8
let uInt8Value1 = UInt8(uInt16Value & 0x00ff)

Если вы хотите преобразовать UInt16 в битовый эквивалент Int16, вы можете сделать это с помощью определенного инициализатора:

let int16Value: Int16 = -15
let uInt16Value = UInt16(bitPattern: int16Value)

И наоборот:

let uInt16Value: UInt16 = 65000
let int16Value = Int16(bitPattern: uInt16Value)

В вашем случае:

let nv: Int16 = -15
let uNv = UInt16(bitPattern: nv)

UInt8(uNv >> 8)
UInt8(uNv & 0x00ff)
30
задан cs95 23 January 2019 в 09:17
поделиться