go语言int类型最大值

Posted da-peng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言int类型最大值相关的知识,希望对你有一定的参考价值。

技术图片

 

 正数的补码是自己本身

负数的补码是,先取反码(首尾不反),然后+1

 

2.  在Go语言中

  ^0表示对0取反

  我们假如是4位代表一个数字的话,最高位是符号位

  0在计算机中用补码的形式存在是 : 0000

  取反得到  :1111  (是-1在计算机中以补码的形式存在,所以^0 就是 -1)

  所以 ^1 就是 1110 就是 -2

 

3.  Go语言的最大值

  a.  如果是一个无符号的数字

  那么最大值就是  1111

  那么就是  ^uint8(0)  ,^uint16(0)  ^uint32(0)  ^uint64(0)

  

  b.  如果是一个有符号的数数字

  那么最大值就是   0111

  那么就是 0000 取反  1111  后移一位 0111

  那么就是   int8(^uint8(0) >> 1)  int16(^uint16(0) >>1 )

以上是关于go语言int类型最大值的主要内容,如果未能解决你的问题,请参考以下文章

go语言数据类型转换

Go 语言中的通用类型(int / uint)相对于特定类型(int64 / uint64)有啥优势?

go语言数据类型转换

go语言-数据类型及类型之间转换

Go语言引用类型

GO语言--数据类型