为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 Go 使用 ^ 而不是 ~ 作为一元按位非?

为什么 Go 使用 ^ 而不是 ~ 作为一元按位非?

Go
慕姐4208626 2021-12-27 16:07:35
大多数编程语言使用~表示一元按位非操作。相比之下,Go 使用^:fmt.Println(^1)  // Prints -2为什么 Go 的设计师决定在这里打破常规?
查看完整描述

1 回答

?
神不在的星期二

TA贡献1963条经验 获得超6个赞

因为 ^x 等价于 m ^ x ,其中 m = "所有位设置为 1" 对于无符号 x 和 m = -1 对于有符号 x。在规范中是这么说的

它类似于 -x 是 0 - x


查看完整回答
反对 回复 2021-12-27
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信