douzhimei8259 2013-10-03 22:05
浏览 49
已采纳

Golang中的^ 0是什么?

I am seeing ^0 in the code base.

Example:

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

newStat := stat{min: ^0}

What does ^0 mean?

  • 写回答

1条回答 默认 最新

  • dongti7838 2013-10-03 22:11
    关注

    According to the docs:

    ^x bitwise complement is m ^ x with m = "all bits set to 1" for

    unsigned x and m = -1 for signed x

    It means that ^0 is the same as ~0 in other mainstream languages.

    On a two's complement (which most of the programming languages adopt) the value of the complement of zero is -1 (on an signed data type). So this is a way to write:

    newStat := stat{min: -1}
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?