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 )


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM