无法理解Go如何将整数转换为十六进制
当我运行这段代码时
package main
import (
"fmt"
)
func main() {
d := -12345
hex := fmt.Sprintf("%X", d)
fmt.Println(hex)
}
我看到结果
-3039
,但我希望看到 cfc7
,因为 go 使用补码表示
我怎样才能在输出中得到正确的答案?
您正在传递一个已签名的
int
。传递未登录的信息:
hex := fmt.Sprintf("%X", d)
这将打印 FFFFFFFFFFFFFFC7