2012-04-30 73 views
-1

我已經嘗試過這種方式來獲得在C#中的二進制表示的N位二進制表示獲取一些

int i = 1; 
string binary = Convert.ToString(i, 2); 

則會返回一個字符字符串「1」

我需要一個數字串假設數爲8個NI想要一個5位數的二進制表示,

我需要它是「01000」

數量的數字(n)是輸入端。

感謝

回答

1

您可以通過這個做到這一點。

string str = Convert.ToString(8, 2).PadLeft(5, '0'); 

PadLeft用於將0放在表達式的左邊,我們給出5是totol的數字寬度。和第二parament是字符放在左邊時數爲小於5個字符

3
string binary = Convert.ToString(i, 2).PadLeft(5, '0'); 
0

滾動你自己的,你可以使用類似這樣(沒有測試過,但我認爲這應該工作):

int i = 8; // your number 
int noZeros = 5; 
StringBuilder sb = new StringBuilder(); 
while(i != 0 && noZeros > 0){ 
    if(i & 1 != 0){ sb.Insert(0, "1"); } 
    else { sb.Insert(0, "0"); } 
    i = i >> 1; 
    noZeros --; 
} 

string binary = sb.ToString(); 

那應該適用於任何int。