Как я могу представить UInt32
с двумя номерами UInt16
в Swift и наоборот?
Например, UInt32
65536 должен быть (UInt16) 1 и (UInt16) 65535, и (UInt16) 0 и (UInt16) 65533 объединяться с (UInt32) 65533
Простые побитовые операции
var number1: UInt16 = 1
var number2: UInt16 = 65535
let number: UInt32 = UInt32(number1) << 16 | UInt32(number2)
number1 = UInt16(number >> 16)
number2 = UInt16(number & 0xFFFF)
func toInt16(value:UInt32)->(UInt16,UInt16){
return (UInt16(value >> 16),UInt16(value & UInt32(UInt16.max)))
}
func toInt32(value1:UInt16,value2:UInt16)->UInt32{
return (UInt32(value1) << 16 | UInt32(value2))
}