1. 首页
  2. 主题
  3. Go问与答

=========加法运算结果不符合预期=========

FreeWong · · 3097 次点击
```go func main() { var a uint8 = math.MaxUint8 fmt.Println(a) fmt.Println(a + a) } ``` // 结果居然是 254 ,和溢出的计算方法一样,去掉了字节高位 但是为什么呢 不符合大众的预期啊 感谢感谢
<a href="/user/polaris" title="@polaris">@polaris</a> 感谢北大才子 :smile: 代码检验好像是这样的 目前还没有看到哪里有文档描述这个
#4
更多评论
```go 1111 1111 + 1111 1111 ─────────────── 1 1111 1110 后8字节 1111 1110 = 254 ```
#1
<a href="/user/zzustu" title="@zzustu">@zzustu</a> 感谢,知道将高位字节丢弃了,我的问题就是为什么要丢失 , 难道在 golang 中 uint8 + uint8=uint8 ?
#2

用户登录

没有账号?注册

今日阅读排行

    加载中

一周阅读排行

    加载中