【基础】3.运算符and 转换

1.运算符

引用了 c#位操作符号 

<p style="margin:5px auto; line-height:21px; font-family:Verdana,Geneva,Arial,Helvetica,sans-serif; font-size:14px; background-color:rgb(238,238,238)">位操作符是对数据按二进制位进行运算的操作符。c#位操作符包括:</p><ul style="margin-left:45px; font-family:Verdana,Geneva,Arial,Helvetica,sans-serif; font-size:14px; background-color:rgb(238,238,238)"><li style="list-style:inherit">按位与 &</li><li style="list-style:inherit">按位或 |</li><li style="list-style:inherit">按位取反 ~</li><li style="list-style:inherit">左移 <<</li><li style="list-style:inherit">右移 >></li></ul><p style="margin:5px auto; line-height:21px; font-family:Verdana,Geneva,Arial,Helvetica,sans-serif; font-size:14px; background-color:rgb(238,238,238)">举例说明</p>
public static void Main() 
  { 
    int a=6&3; 
    Console.WriteLine("a={0}",a); 
    //6的二进制是00000110,3的二进制是00000011,按位与后等于00000010,  即2。
    int b=6|3; 
    Console.WriteLine("b={0}",b); 
    //6的二进制是00000110,3的二进制是00000011,按位或后等于00000111,即7 
    int c=~6; 
    Console.WriteLine("c={0}",c); 
    //6的二进制是00000110,按位取反后是11111001即-7,最高位表示符号位,必须要相加=1,也就是1000 0111=-7
    int d=6^3; 
    Console.WriteLine("d={0}",d); 
    //6的二进制是00000110,3的二进制是00000011,按位异或后等于00000101,即5 
    int e=6<<3; 
    Console.WriteLine("e={0}",e); 
    //6的二进制是00000110,左移三位后等于00110000,即48 ,符号位不变
    int f=6>>2; 
    Console.WriteLine("f={0}",f); 
    //6的二进制是00000110,右移二位等于00000001,即1 ,符号位不变
  } 
注意:

1)负数的右移,需要先将负数转换为补码,再右移,再转换为原码

比如:-6>>2,[-6]原码=1000 0110,转为补码[1000 0110]补=1111 1010,右移两位,符号位不变,高位补1,得到:1111 1110,再转为原码:1000 0010=-2

2.进制数转换

//十进制转二进制
Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));
//十进制转八进制
Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8));
//十进制转十六进制
Console.WriteLine("十进制166的十六进制表示: "+Convert.ToString(166, 16));

//二进制转十进制
Console.WriteLine("二进制 111101 的十进制表示: "+Convert.ToInt32("111101", 2));
//八进制转十进制
Console.WriteLine("八进制 44 的十进制表示: "+Convert.ToInt32("44", 8));
//十六进制转十进制
Console.WriteLine("十六进制 CC的十进制表示: "+Convert.ToInt32("CC", 16)); 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值