C#二进制掩码-创新互联

之所以写这边文章,是因为在某些情况下,运用掩码来传递信息,显得非常简洁和方便.比如有2个参数共同确定1个实物.如牌,有花色和值.那么,传2个参数,显得非常繁琐,而且容易出错.

创新互联始终坚持【策划先行,效果至上】的经营理念,通过多达10多年累计超上千家客户的网站建设总结了一套系统有效的推广解决方案,现已广泛运用于各行各业的客户,其中包括:阳台护栏等企业,备受客户称誉。

那么定义 黑 , 红 , 梅 , 品 花色为 3,2,1, 0, 大小王为4 .1~k :分别为1~13.小王14 , 大王15 .大王大,值的二进制正好为 : 1111(注意必须全为1 , 十进制为15) 即为牌值掩码 , 则花色掩码为 11110000(十进制为240)

(11111111^1111 = 11110000)

            
            Console.WriteLine( ( 3<<4 ) + 1); 
            Console.WriteLine( (49&240)/16 );//240 为花色掩码 11110000    获得花色
            Console.WriteLine(49&15);//15 为牌值掩码    获得牌值

上面代码 : 3花色 , 1 : 牌值

<<4 : 花色掩码 11110000 后面的0占4字节

至于/16 : 关于牌值的掩码 : 1111(二进制) 占4bit,2^4 = 16

得到49 , 然后分别取得花色和值

C# 二进制掩码

可以做一个另外的一个测试 :

低位掩码 : 11(3) 高位掩码 : 1100(12)

测试代码如下 :

            Console.WriteLine((2<<2)+1);
            Console.WriteLine((9&12)/4);
            Console.WriteLine(9 & 3);

得到结果:

C# 二进制掩码

OK , 牌花色“2” , 值 “1”

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


当前文章:C#二进制掩码-创新互联
文章路径:http://myzitong.com/article/egjho.html