#二進位制加減
———例題—
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為正整數 我...