ACM數學專題 二進位制

2021-10-01 02:41:13 字數 1112 閱讀 8105

#二進位制加減

———例題

acm數學專題: 二進位制

計算兩個二進位制數的和或差。

輸入

輸入由兩個二進位制數和乙個運算子組成,二進位制數和運算子之間用乙個空格分隔,格式如下:

num1 op num2

其中num1和num2為要參與運算的二進位制數,二進位制數隻可能是大於零的無符號整數,且num1>=num2,op為運算子,運算子只可 能取+或-;當num1和num2的長度不同時,在長度短的數的左側補零,比如 1000 - 1

樣例輸入

1011 + 1

樣例輸出

1100

#include #include #include using namespace std;

int str_to_num(string str)

return number;

}int main(void)

//**bitset 函式 十進位製直轉二進位制。**

bitset<64> bit(result);

register int index=63; **// register 新加特性---加速**

for(; index >= 0 && bit[index] == 0; --index) ; //**找到非零的起始數**

//輸出二進位制數

for(; index >= 0 ; --index)

cout << endl;

return 0;

}

簡單介紹下此題思路:

//注意這題的二進位制數不能以數字的形式輸入,要定義為字串,具體why,自己按著數字定義,得不出結果時候自然明白!!

實質上就是建立個模組,進行二進位制的轉換,將二進位制轉為十進位制,再將得到的結果轉換為二進位制

其中運用到c++中,bit為乙個類似於乙個陣列,但只儲存 0 1 數字,可以用來進行二進位制數的儲存

二進位制專題(持續更新)

在計算機中,表示數值的數字符號只有 0 00 和 1 11 兩個數碼,無法在二進位制數前再加正負號,所以我們規定最高位為符號位 並用 0 00 表示正數符號,用 1 11 表示負數符號。這樣,機器中的數值和符號全 數位化 了。為簡化機器中資料的運算操作,人們採用原碼 補碼 反碼以及移碼等幾種方法對數...

二進位制 二進位制起源

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

判斷二進位製半整數(二進位制)

10年後,tokitsukaze大佬已經變成了年收入超百萬的的精英程式設計師,家裡沒錢也沒礦的teitoku,找tokitsukaze大佬借1000塊錢,然後tokitsukaze大佬說,借你1024吧,湊個整數。沒錯在2進製下1024是 二進位制整數 乙個正整數滿足其值為2的k次方 k為正整數 我...