将数字转换为设置了 N 位的字节
Convert number to byte with N bits set
我有一个 1-8 范围内的数字。
我想将其转换为
0b00000001 // 1
0b00000011 // 2
0b00000111 // 3
0b00001111 // 4
0b00011111 // 5
0b00111111 // 6
0b01111111 // 7
0b11111111 // 8
不使用switch或者for循环可以吗?
最好使用简单的公式。
你要找的是
(1 << v) - 1
我有一个 1-8 范围内的数字。
我想将其转换为
0b00000001 // 1
0b00000011 // 2
0b00000111 // 3
0b00001111 // 4
0b00011111 // 5
0b00111111 // 6
0b01111111 // 7
0b11111111 // 8
不使用switch或者for循环可以吗? 最好使用简单的公式。
你要找的是
(1 << v) - 1