누군가 Golang의 왼쪽/오른쪽 시프트 동작을 설명 할 수 있습니까? 여기에 샘플 코드를 참조하십시오 : https://play.golang.org/p/7vjwCbOEkwGolang 서명 된 번호의 왼쪽/오른쪽 시프트 동작
package main
import (
"fmt"
)
func main() {
var lf int8 = -3
fmt.Printf("-3 : %08b\n", lf)
fmt.Printf("<<1: %08b\n", lf<<1)
fmt.Printf("<<2: %08b\n", lf<<2)
fmt.Printf("<<3: %08b\n", lf<<3)
fmt.Printf("<<4: %08b\n", lf<<4)
fmt.Printf("<<5: %08b, %d\n", lf<<5, lf<<5)
fmt.Printf("<<6: %08b, %d\n", lf<<6, lf<<6)
fmt.Printf("<<7: %08b, %d\n", lf<<7, lf<<7)
fmt.Printf("<<8: %08b, %d\n", lf<<8, lf<<8)
fmt.Printf("<<9: %08b, %d\n", lf<<9, lf<<9)
}
-3 : -0000011
<<1: -0000110
<<2: -0001100
<<3: -0011000
<<4: -0110000
<<5: -1100000, -96
<<6: 01000000, 64
<<7: -10000000, -128
<<8: 00000000, 0
<<9: 00000000, 0
정확히 무엇을 의미합니까, 출력은 무엇이며보고 싶은 부분은 무엇입니까? 링크가 작동하지 않습니다. – gonutz
@ gonutz : https://play.golang.org/p/7vjwCbOEkw – jithin
https://golang.org/ref/spec#Arithmetic_operators를보고 교대를 찾습니다. 설명 할 것이 많지 않습니다. – Volker