-1
我正在使用下面的方法將小數轉換爲二進制。 該方法需要一個長類型作爲參數並返回二進制等效。 但是,如果像「2147483647L」這樣的值作爲參數傳遞,它會返回一些垃圾值。 我在這段代碼中錯過了什麼?長整數的小數轉換爲二進制
public long calculateBinary(long N){
long m=N, s=0, i=0;
while(m>0)
{
long k=m%2;
s=(long)((Math.pow(10,i)*k)+s);
i++;
m=m/2;
}
return s;
}
如果你實際返回的是一個'long',其十進制表示_看起來像另一個數字的二進制擴展,在通過'long'的最大尺寸之前不會花很長時間。 – khelwood
在返回語句中使用BigInteger或String! – Devavrata
如果您嘗試手動創建數字的二進制表示形式,則應該返回一個字符串。 – khelwood