什麽是golang的^0?

np8igboo  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(246)

我在程式码基底中看到^0。
示例:

type stat struct {
  ...
  min int64
  ...
}

newStat := stat{min: ^0}

^0是什么意思?

bkkx9g8r

bkkx9g8r1#

根据文件:
^x的按位补数是m ^ x,其中m =“所有位都设置为1”,对于
无符号x和m = -1(对于有符号x)
因此^xx中的每一位反转,例如0101变为1010。这意味着^0与其他主流语言中的~0相同。
当使用two's complement表示负数时(大多数编程语言都是这样),零的按位补数(所有位都是1)的值是-1。因此,可以这样写:

newStat := stat{min: -1}

相关问题