ACM競賽中用到的二進位制處理方法(完善中)

2021-07-25 05:38:56 字數 756 閱讀 2110

二進位制邏輯運算:

1、邏輯「或」運算:『|』(以下為程式設計時的符號)

只要兩個值裡面有乙個是1也就是真,那麼結果就是1,為真。

2、邏輯「與」運算:『&』

只有兩個值都是1,也就是都是真的時候,結果才是1,為真。

3、邏輯「非」運算 :『!』

!1 = 0; !0 = 1;

非真就是假,非假就是真。

4、邏輯「異或」運算 :『^』(題中一般會寫為xor)

如果兩個值相同,異或為0,不同,異或為1。

具體操作例子:

1、把輸入壓入狀態量

如果c為『+』,則把1壓入state的某一位中

範例:

字串:+-++—

state:1011000

int

state = 0;

for (int i = 0; i < 16; i++)

}

2、把二進位制中的一位取反

把c的第x位取反。x從右往左算從0開始。

c =a ^(1 << x);
3、判斷二進位制串中有多少個1

int get_num(int a)

return ret;

}

4、判斷兩個二進位制串是否在相同位置有1

bool fit(int a, int b)

ACM數學專題 二進位制

二進位制加減 例題 acm數學專題 二進位制 計算兩個二進位制數的和或差。輸入 輸入由兩個二進位制數和乙個運算子組成,二進位制數和運算子之間用乙個空格分隔,格式如下 num1 op num2 其中num1和num2為要參與運算的二進位制數,二進位制數隻可能是大於零的無符號整數,且num1 num2,...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

二進位制處理函式

unsigned const stat zero 0x0008 unsigned const stat one 0x0002 unsigned const stat two 0x0004 unsigned const stat three 0x0008 檢測位有1位是1就返回true templat...