位运算
右移,通常说右移一位相当于除以2,左移一位相当于乘以2,这只是相当;比如下面这个奇数,如果除以2则变成浮点数,就不能再直接赋值于int变量,但实际上可以;
aa := 11111 if aa>= 10000 { aa = aa>>1 //5555 } fmt.Println(aa)
所以右移就是将数字转换为二进制后,舍弃掉右移的位数,空出来的位数补0.
位运算
右移,通常说右移一位相当于除以2,左移一位相当于乘以2,这只是相当;比如下面这个奇数,如果除以2则变成浮点数,就不能再直接赋值于int变量,但实际上可以;
aa := 11111 if aa>= 10000 { aa = aa>>1 //5555 } fmt.Println(aa)
所以右移就是将数字转换为二进制后,舍弃掉右移的位数,空出来的位数补0.