Go之关系运算符、逻辑运算符、进制数、杂项

一:关系运算符,和php的一致,略。

二:逻辑运算符,和已知的php一致,略。

三:进制数,已在php中学习,略。

四:Golang中不存在三元运算符。

五:源码,反码,补码。

对于有符号的而言:

①:二进制的最高位是符号,0表示正数,1表示负数。

②:正数的源码,反码,补码都一样。

  1=> [补码:0000 0001,反码:0000 0001,补码:0000 0001]

③:负数的反码=原码符号位不变,其他位置取反。

  -1=》[补码:1000 0001,反码:1111 1110]

④:负数的补码=反码+1

  -1=》[补码:1000 0001,反码:1111 1110,补码:1111 1111]

⑤:0的反码,补码都是0

⑥:在计算机运行的过程中,是以补码的方式进行运算。

六:位运算和移位运算

①:位运算是基于数字的二进制形势下的补码进行运算

  1)按位与&     :两位全为1,结果为1

  

  2)按位或|   :两位有一个为1结果为,否则为0

  

  备注:1)中,由于均为正数参考第五大点的第二小点,故补码不用转换几位源码,而负数需要转换。

  3)按位异或^ :两位,一个为0,一个为1,这为1,否则为0

  

②:移位运算

  1)<<符号位不变,低位补0

    var a := 1>>2 //a等于0

  2)>>符号位不变,低位溢出,并用符号位补溢出的高位

    var 1 := 1<<2 //a等于4

posted @ 2019-01-02 15:37  louis-sun  阅读(539)  评论(0)    收藏  举报