我在程式码基底中看到^0。示例:
type stat struct { ... min int64 ... } newStat := stat{min: ^0}
^0是什么意思?
bkkx9g8r1#
根据文件:^x的按位补数是m ^ x,其中m =“所有位都设置为1”,对于无符号x和m = -1(对于有符号x)因此^x将x中的每一位反转,例如0101变为1010。这意味着^0与其他主流语言中的~0相同。当使用two's complement表示负数时(大多数编程语言都是这样),零的按位补数(所有位都是1)的值是-1。因此,可以这样写:
^x
x
0101
1010
^0
~0
newStat := stat{min: -1}
1条答案
按热度按时间bkkx9g8r1#
根据文件:
^x的按位补数是m ^ x,其中m =“所有位都设置为1”,对于
无符号x和m = -1(对于有符号x)
因此
^x
将x
中的每一位反转,例如0101
变为1010
。这意味着^0
与其他主流语言中的~0
相同。当使用two's complement表示负数时(大多数编程语言都是这样),零的按位补数(所有位都是1)的值是-1。因此,可以这样写: