05-运算符
go语言
一 运算符
1.1 运算符汇总
1.2 自增、自减
Go中只有后--
和后++
,且自增自减不能用于表达式中,只能独立使用:
1.3 位运算
二 优先级
三 进制转换
3.1 常见进制
- 二进制:只有0和1,Go中不能直接使用二进制表示整数
- 八进制:0-7,以数字0开头
- 十进制:0-9
- 十六进制:0-9以及A-F,以0X开头,A-F以及X不区分大小写
3.2 任意进制转换为十进制
二进制转十进制:
从最低位开始,每个位上数乘以2(位数-1)次方然后求和
1011 = 1*20 + 1*21 + 0*22 + 1*23 = 11
八进制转十进制:
从最低位开始,每个位上数乘以8(位数-1)次方然后求和
0123 = 3*80 + 2*81 + 1*82 + 0*83 = 83
其他进制转十进制同理。
3.3 十进制转其他进制
十进制转二进制:
不断除以2,直到0为止,余数倒过来即可,如图计算28转换为二进制11100
十进制转八进制:不断除以8,直到0为止,余数倒过来即可。
十进制转十六进制:不断除以16,直到0为止,余数倒过来即可。
3.4 其他进制互转
- 二进制转换八进制:将二进制数从低位开始,每三位一组,转换成八进制数即可
- 二进制转十六进制:将二进制数从低位开始,每四位一组,转换成十六进制数即可
- 八进制转换二进制:将八进制数每1位转换成一个3位的二进制数(首位0除外)
- 十六进制转二进制:将十六进制每1位转换成对应的一个4位的二进制数即可
四 计算机运算原理
计算机常见的术语:
- bit:比特,代表1个二进制位,一个位只能是0或者1
- Byte:字节,代表8个二进制位,计算机中存储的最小单元是字节
- WORD:双字节,即2个字节,16位
- DWORD:两个WORD,即4个字节,32位
一些常用单位:
- 1b:1bit,1位
- 1Kb:1024bit,即1024位
- 1Mb:1024*1024bit
- 1B:1Byte,1字节,8位
- 1KB:1024B
- 1MB:1024K
对于有符号数而言,二进制的最高为是符号位:0表示正数,1表示负数,比如 1在二进制中:
正数的原码、反码、补码都一样,负数的反码=原码符号位不变,其他位取反,补码是反码+1
常见理解:
- 0的反码补码都是0
- 计算机中是以补码形式运算的