看《程式設計之美》第二節的時候,它是定義的乙個整型,然後取位。但是他的那個或運算符號好像寫錯了,寫成了異或符號「^」,應該是「|」。我就突然對二進位制的輸出感興趣了。想知道怎樣輸出二進位制。我們知道c++輸出十六進製制是cout〈〈hex〈〈 a;而八進位制是cout〈〈 ocx〈〈 a;二進位制則沒有預設的輸出格式,需要自己寫函式進行轉換,於是上網搜尋了一下。網上思路真是廣泛啊。下面列出一些方法。
#include 〈iostream〉
#include 〈list〉
#include 〈bitset〉
using namespace std;
//遞迴輸出二進位制函式
void binaryrecursion(int n)
//使用容器轉換二進位制
void binaryvector(int n)
for (list〈int〉::iterator iter=l.begin();iter!=l.end();iter++ )
cout〈〈*iter;
cout〈〈endl;
} //一般方法,32位,逐步與1做與運算。
void binarycout(int n)
cout〈〈endl;
} //使用bitset轉換二進位制
void binarybitset(int n)
int main()
執行後的結果如下:
binaryrecursion(c):10000010111
binaryvector(c):10000010111
binarycout(c):00000000000000000000010000010111
binarybitset(c):00000000000000000000010000010111
binarychar(c):10000010111
press any key to continue
從中可以看出,有兩種運算會得出32位的結果,不太好。我對c++還不是很精通,所以這個效率還不是很清楚哪個個好。
我覺得用容器的可能會好些吧。如果是c,就用字元轉換函式,或者直接除后和1做與運算。
將檔案轉換成二進位制,再由二進位制轉換成檔案
首先引入命名空間 using system.io protected void page load object sender,eventargs e 將傳進來的檔案轉換成字串 待處理的檔案路徑 本地或伺服器 public string filetobinary string filepath st...
將檔案轉換成二進位制,再由二進位制轉換成檔案
首先引入命名空間 using system.io protected void page load object sender,eventargs e 將傳進來的檔案轉換成字串 待處理的檔案路徑 本地或伺服器 public string filetobinary string filepath st...
將負數轉換成二進位制
問題 3如何轉換成二進位制?首先我們將 3轉換成二進位制,假設是為int型別 32位 的,那麼二進位制表示為 0000 0000 0000 0000 0000 0000 0000 0011 這稱之為原碼 乙個整數的絕對值的二進位制表示稱之為原碼。負數轉換成二進位制分為3步 1 首先將負數轉換為對應的...