C 中幾種將整數轉換成二進位制輸出的方法

2021-07-06 03:28:20 字數 1133 閱讀 5502

看《程式設計之美》第二節的時候,它是定義的乙個整型,然後取位。但是他的那個或運算符號好像寫錯了,寫成了異或符號「^」,應該是「|」。我就突然對二進位制的輸出感興趣了。想知道怎樣輸出二進位制。我們知道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 首先將負數轉換為對應的...