[go学习笔记.第四章.运算符] 7.位运算符,原码,反码,补码

1.位运算符一览表

2.二进制在运算中的说明

二进制是逢2进1的,0,1是基本算符; 现代的电子计算机技术全部采用的是二进制,因为它只使用0,1两个数字符号,非常简单方便,易于电子方式实现,计算机内部处理的信息,都是采用二进制来数来表示的,二进制(binary) 数用0,1两个数字及其组合来表示任何数,进位规则为"逢2进1",数字1在不同的位上代表不同的值,按从右至左的次序,这个值以二倍递增

3.原码,反码,补码

对于有符号的而言

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

        1 ===> [00000001]  -1 ===> [10000001]

2).正数的原码,反码,补码都一样

        1 ===> 原码[0000001],反码[00000001],补码[00000001]

3).负数的反码 = 它的原码符号位不变,其它位取反(0 ==> 1, 1 ==> 0)

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

        -1 ===>原码[10000001],反码[11111110],补码[11111111]

4).0的反码,补码都是0

5).在计算机运算的时候,都是以补码的方式来运算的

        1 + 1  1 - 1 = 1 + (-1)

4.位运算符

go中有三个位运算符,分别是 按位与&,按位或|,按位异或^, 它们的运算规则是: 

按位与&: 两位全为1,结果为1,否则为0

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

按位异或^:两位一个为0,一个为1,结果为1,否则为0(相异为1)

eg: 2&3=? 2|3=?  2^3=?

 5.移位运算符

>>右移,<<左移,运算规则:

右移运算符>>:低位溢出,符号位不变,并用符号位补溢出的高位

左移运算符<<:符号位不变,低位补0 

a := 1 << 2  ==> 0000 0001 ==> 0000 0000 ==> 0
b := 1 >> 2  ==> 0000 0001 ==> 0000 0100 ==> 4

 上一节:[go学习笔记.第四章.运算符] 6.进制

 下一节:[go学习笔记.第五章.流程控制] 1.if基本介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值