溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 二進制掩碼

發布時間:2020-07-27 09:35:12 來源:網絡 閱讀:1473 作者:Aonaufly 欄目:編程語言

之所以寫這邊文章,是因為在某些情況下,運用掩碼來傳遞信息,顯得非常簡潔和方便.比如有2個參數共同確定1個實物.如牌,有花色和值.那么,傳2個參數,顯得非常繁瑣,而且容易出錯.

那么定義 黑 , 紅 , 梅 , 品 花色為 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”

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女