2024-05-16 10:20:02 +08:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
println(mask(1))
|
2024-05-16 15:09:00 +08:00
|
|
|
println(mask_shl(127, 5))
|
|
|
|
|
println(mask_shl8(127, 5))
|
|
|
|
|
println(mask_shl8u(127, 5))
|
|
|
|
|
println(mask_shl8(127, 16))
|
|
|
|
|
println(mask_shl8u(127, 16))
|
|
|
|
|
println(mask_shr(127, 5))
|
|
|
|
|
println(mask_shr8(127, 5))
|
|
|
|
|
println(mask_shr8u(127, 5))
|
|
|
|
|
println(mask_shr8(127, 16))
|
2024-05-16 10:20:02 +08:00
|
|
|
}
|
2024-05-16 15:09:00 +08:00
|
|
|
|
2024-05-16 10:20:02 +08:00
|
|
|
func mask(x int8) int32 {
|
|
|
|
|
return int32(x) << 31 >> 31
|
|
|
|
|
}
|
2024-05-16 15:09:00 +08:00
|
|
|
|
|
|
|
|
func mask_shl8(x int8, y int) int8 {
|
|
|
|
|
return x << y
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func mask_shl8u(x uint8, y int) uint8 {
|
|
|
|
|
return x << y
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func mask_shl(x int, y int) int {
|
|
|
|
|
return x << y
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func mask_shr8(x int8, y int) int8 {
|
|
|
|
|
return x >> y
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func mask_shr8u(x uint8, y int) uint8 {
|
|
|
|
|
return x >> y
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func mask_shr(x int, y int) int {
|
|
|
|
|
return x >> y
|
|
|
|
|
}
|