[Go] 理解计算机负数的表示以及整数范围
计算机在表示数的时候 , 是二进制 , 如果是4位
对于正整数, 很简单就是 , 所有的位都是1表示最大的正整数15
但是对于负数 , 需要最高位用来表示正负符号 , 1是负数 , 0 是正数
所以4位的有符号整数最大是7
8位的是整数最大是 127 最小是-128
原始的二进制是原码 , 除了符号位外所有的位反转, 就是反码 , 再加1就是补码
负数的表示是用的补码表示
对于人类阅读比较难懂 , 但是对于计算机来说 , 这样的表示很方便用来进行加法运算等
对于8位的整数 ,
那正常也是-127到+127 , 为什么是-128是最小的呢
因为0这个特殊的存在 , 0 没有 -0 和+0区分
所以把-0表示为了-128
如果给int8数赋值 128, 就会报错
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网