Go学习笔记(二)
运算符优先级
1、运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。
2、只有单目运算符、赋值运算符是从右向左运算的。
3、大致的顺序衡量
1)括号,++,--
2) 单目运算
3) 算数运算
4) 移位运算
5) 关系运算符
6) 位运算符
7) 逻辑运算符
8) 赋值运算符
9) 逗号
进制介绍
1)二进制:0,1 满2进1
golang中,不能直接使用二进制来表示一个整数(沿袭了C的特点)
2)十进制:0-9 满10进1
3) 八进制:0-7, 满8进1,以数字0开头表示
4)十六进制:0-9和A-F,满16进1,以0X开头或0x开头
进制转换
第一组 其他进制转十进制
规则:二进制如何转十进制(规则:从最低位开始(右边),将每个位上的数提取 出来,乘以2的(位数-1)次方,然后求和)
规则:八进制如何转十进制(规则:从最低位开始(右边),将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和)
规则:十六进制如何转十进制(规则:从最低位开始(右边),将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和,记得前面的0x不需要计算)
1、题目:将110001100转成十进制
答:
110001100 = 0*1+0*2*+1*2*2+1*2*2*2+0*2*2*2*2+0*2*2*2*2*2+0*2*2*2*2*2*2+1*2*2*2*2*2*2*2+1*2*2*2*2*2*2*2*2 = 392
2、题目:将02456转成十进制
答:
02456 = 6*1 + 5*8 + 4 * 8 * 8 + 2 * 8 * 8 * 8 + 0 * 8 * 8 * 8 *8 = 1326
3、题目:将0xA45 转成十进制
0xA45 = 5*1 + 4 * 16 + 10 * 16 *16 = 2629
第二组 十进制转其他进制
十进制转二进制:规则:将该数不断除以2,直到商为0为止,然后把每步得到的余数到过来,就是对应的二进制
十进制转八进制:规则:将该数不断除以8,直到商为0为止,然后把每步得到的余数到过来,就是对应的八进制
十进制转十六进制:规则:将该数不断除以16,直到商为0为止,然后把每步得到的余数到过来,就是对应的十六进制
1、123转成二进制
答:1111011
2、678转成八进制
答:1246
3、8912转成16进制
答:0x22D0
第三组 二进制转其他进制
二进制转八进制:规则:将二进制数每三位一组(从低位开始组合),转成对应的八进制数即可
二进制转十六进制:规则:将二进制数每四位一组(从低位开始组合),转成对应的十六进制数即可
1、将11100101转成八进制
答:0345
2、将1110010110转成十六进制
答:0x396
第四组 其他进制转二进制
八进制转二进制:规则:将八进制每1位转成对应的一个3位的二进制即可
十六进制转二进制:规则:将十六进制每1位转成对应的一个4位的二进制即可
二进制在运算中的说明:
在计算机的内部,运行各种运算时,都是以二进制的方式来进行。
原码、反码、补码
对于有符号而言
1、二进制的最高位是符号位:0表示正数,1表示负数
1 ===》 [0000 0001]
-1 ===>[1000 0001]
2、正数的原码,反码,补码都一样
3、负数的反码=它的原码符号位不变,其他位取反(0->1,1->0)
原码:-1 ===>[1000 0001]
反码:-1 ===>[1111 1110]
4、负数的补码=它的反码+1
补码:-1 ===>[1111 1111](重点)
5、0的反码,补码都是0
6、在计算机运算的时候,都是以补码的方式来运算的
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具