请问 ^ 2 一个数字是怎么计算的?

lcjcians · · 1432 次点击
<a href="/user/leavesdrift" title="@leavesdrift">@leavesdrift</a> 好的 知道了 谢谢
#4
更多评论
^在 go 中可以做单目运算符表示取反,也可以做双目运算符表示异或,异或很简单。至于取反,例如一个常量3不特殊声明应该是int类型。 ```go fmt.Printf(&#34;%T&#34;, 3) ``` 那么视机器而定,64位机器就是int64, 32位机器就是int32。例如64位机器上: 3 的二进制表示为: ``` 0000....011 ``` ^3的二进制表示为: ``` 1111....100 ``` -4的二进制表示需要两步求得补码: ``` 原来(只看4): 0000....100 取反: 1111....011 加一: 1111....100 ``` 结果就是 `^3 == -4`
#1
<a href="/user/leavesdrift" title="@leavesdrift">@leavesdrift</a> 好的 这个懂了 那我想问下 这个有什么作用?一般在哪些情况下会用到
#2