将uint32拆分为两个uint16



如何将go中的单个uint32 var拆分为两个uint16 var,分别代表16个MSB和16个LSB ?

下面是我要做的事情:

var number uint32
var a uint16
var b uint16
number = 4206942069

现在如何将number中的16个MSB分配到a中,将16个LSB分配到b中呢?

使用以下代码将number中的16位最高有效位分配给a, 16位最低有效位分配给b:

a, b := uint16(number>>16), uint16(number)

在操场上跑。

最新更新