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、在计算机运算的时候,都是以补码的方式来运算的

 

posted @ 2022-04-22 09:30  黑羽青衣  阅读(187)  评论(0编辑  收藏  举报