C# 位运算符 #我的编程语言学习笔记

int j = 4;
j<<=4;
j= j<<4;
Console.WriteLine(j);


Console.WriteLine("位运算符");

//四个其实都能跟逻辑运算符联系起来记忆
//位运算符 主要用数值类型进行计算的
//将数值转换为2进制 再进行位运算

#region 知识点一 位与 &
// 规则 连接两个数值进行位计算 将数值转为2进制
// 对位运算 有0则0
int a = 1;// 001
int b = 5;// 101
//  001
//& 101
//  001
int c = a & b;
Console.WriteLine(c);

a= 3;//011
b = 19;// 10011
//  00011
//& 10011
//  00011
c=a & b;//3
Console.WriteLine(c);

//多个数值进行位运算 没有括号时 从左到右 依次计算
a = 1;  //  001
b = 5;  //  101
c = 19; //10011
//  00001
//& 00101
//  00001
//& 10011
//  00001
int d = a & b & c;
Console.WriteLine(d);
a = 1;  //  001
b = 2;  //  010
Console.WriteLine(a & b);




#endregion


#region 知识点一 位或 |
// 规则 连接两个数值进行位计算 将数值转为2进制
// 对位运算 有1则1

a= 1;//001
b = 3;//011
c = a | b;
// 001
//|011
// 011
Console.WriteLine(c);

a= 5;
b= 10;
c= 20;

a = 5; // 101
b = 10;// 1010
c = 20; //10100
//|  00101
//   01010
//   01111
//|  10100
//   111111 => 1 + 2 + 4 + 8 + 16 =31
Console.WriteLine(a| b| c);


#endregion

#region 知识点一 异或 ^
// 规则 连接两个数值进行位计算 将数值转为2进制
// 对位运算 相同位0 不同为1

a = 1; //001
b = 5; //101
// 001
//^101
// 100
c = a^b;
Console.WriteLine(c);

a = 10; // 1010
b = 11; // 1011
c = 4;   // 100
//  1010
//^ 1011
//  0001
//^ 0100
//  0101  =  5

Console.WriteLine(a^b^c);

#endregion

#region 知识点一 位取反 ~
// 规则 连接两个数值进行位计算 将数值转为2进制
// 对位运算 0变1  1变0
//判断 变量类型是什么 然后知道它是多少位的
//int 占4字节 1字节8位  总共32位

a = 5;
// 0000 0000 0000 0000 0000 0000 0000 0101
// 1111 1111 1111 1111 1111 1111 1111 1010
// 反码补码知识
c = ~a;
Console.WriteLine(c);



#endregion


#region 知识点一 左移<<  和  右移>>
// 规则 让一个数的2进制数进行左移和右移
// 左移几位 右侧加几个0
//左移+0
//右移舍去右边的

a = 5; // 101
c = a << 5;
// 1位  1010
// 2位  10100
// 3位  101000
// 4位  1010000
// 5位  10100000 =32 +128 =160

Console.WriteLine(c);

a = 66; // 101
c = a >> 1;
// 1位 10
// 2位 1


Console.WriteLine(c);

//Console.WriteLine(99^33);





#endregion
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值