我需要將 desimal 數轉換為 7 位二進制。就像 11(desimal) 的二進制是 001011。
我確實在 starkoverflow 中找到了一個解決方案,但它不像我想要的那樣作業
String dec2bin(int dec) {
var bin = '';
while (dec > 0) {
bin = (dec % 2 == 0 ? '0' : '1') bin;
dec ~/= 2;
}
return bin;
}
它回傳1011,洗掉 1011 之前的所有零
我該如何解決?
uj5u.com熱心網友回復:
只需在回傳之前使用padLeftonString以確保它是以零為前綴的最小長度。此外,您的dec2bin方法可以簡化為僅toRadixString(2)在輸入整數上使用。所以是這樣的:
String dec2bin(int dec) => dec.toRadixString(2).padLeft(6, '0');
void main() {
print(dec2bin(11)); // 001011
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/520210.html
標籤:镖数学二进制十进制
下一篇:差異實際值與預期值不同
