对于整数,有四种表示方式
-
二进制:0,1,满2进1
在 Go 语言中,不能直接使用二进制来表示一个整数,它沿用了 C 语言的特点。 -
十进制:0-9,满10进1
-
八进制:0-7,满8进1,以数字0开头表示
-
十六进制:0-9及A-F,满16进1,以
0x
或0X
开头表示A-F是不区分大小写。
进制转换的规则:
从最低位开始(右边),将每个位上的数提取出来,乘以目标进制(如果是二进制,那么就是乘以2)的(位数-1)次方,然后求和。
十进制转二进制
将该数不断除以2,直到商为0,然后将每步得到的余数倒过来,就是对应的二进制
源码、补码、反码
- 二进制最高位是符号位:0表示正数,1表示负数
- 正数的源码、补码、反码都一样
- 负数的反码:原符号位不变,其它位取反
- 负数的补码是它的反码+1
- 0的反码补码都是0
- 在计算机运算时,都是以补码的方式进行