我已經嘗試過這種方式來獲得在C#中的二進制表示的N位二進制表示獲取一些
int i = 1;
string binary = Convert.ToString(i, 2);
則會返回一個字符字符串「1」
我需要一個數字串假設數爲8個NI想要一個5位數的二進制表示,
我需要它是「01000」
數量的數字(n)是輸入端。
感謝
我已經嘗試過這種方式來獲得在C#中的二進制表示的N位二進制表示獲取一些
int i = 1;
string binary = Convert.ToString(i, 2);
則會返回一個字符字符串「1」
我需要一個數字串假設數爲8個NI想要一個5位數的二進制表示,
我需要它是「01000」
數量的數字(n)是輸入端。
感謝
您可以通過這個做到這一點。
string str = Convert.ToString(8, 2).PadLeft(5, '0');
PadLeft用於將0放在表達式的左邊,我們給出5是totol的數字寬度。和第二parament是字符放在左邊時數爲小於5個字符
string binary = Convert.ToString(i, 2).PadLeft(5, '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。