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 )

猜你喜欢

转载自www.cnblogs.com/da-peng/p/11625180.html