在下面的代码中:
package main
import (
"fmt"
)
func main() {
var a, b int8 = -4, 4
fmt.Printf("%b\n", a)
fmt.Printf("%08b\n", a)
fmt.Printf("%08b\n", b)
//fmt.Println("a and b have same sign?", (a^b) >= 0)
}
Run Code Online (Sandbox Code Playgroud)
给出带负号的输出:
-100
-0000100
00000100
Run Code Online (Sandbox Code Playgroud)
如何查看负数的二进制表示-4?
要查看二进制补码二进制表示,可以这样做:
var aUnsigned = uint8(a)
fmt.Printf("%08b\n", aUnsigned)
Run Code Online (Sandbox Code Playgroud)
输出:
11111100
Run Code Online (Sandbox Code Playgroud)