將任意十進位制正小數分別轉換成2,3,4,5,6,7,8,9進製正小數,小數點後保留8位,並輸出。例如:若十進位制小數為0.795,則輸出:
十進位制正小數 0.795000 轉換成 2 進製數為: 0.11001011
十進位制正小數 0.795000 轉換成 3 進製數為: 0.21011011
十進位制正小數 0.795000 轉換成 4 進製數為: 0.30232011
十進位制正小數 0.795000 轉換成 5 進製數為: 0.34414141
十進位制正小數 0.795000 轉換成 6 進製數為: 0.44341530
十進位制正小數 0.795000 轉換成 7 進製數為: 0.53645364
十進位制正小數 0.795000 轉換成 8 進製數為: 0.62702436
十進位制正小數 0.795000 轉換成 9 進製數為: 0.71348853
以下**提供了這個功能。其中,dtestno表示待轉的十進位制小數。ibase表示進製數。請填寫缺失的部分。
把填空的答案(僅填空處的答案,不包括題面)存入考生資料夾下對應題號的「解答.txt」中即可。
#includevoid fun(double dtestno, int ibase)
printf("0.");
for(ino=0; ino<8; ino++) printf("%d", it[ino]);
printf("\n");
}int main ()
小數進製的轉換思路:把小數乘以進製數取整,迴圈此過程直到小數部分為零,小數點後保留幾位就迴圈幾次。
//把小數強制轉換成整數,需要考慮double的範圍!
double a;
int b;
b=(int)a;
N進製小數
n進製小數 將任意十進位制正小數分別轉換成2,3,4,5,6,7,8,9進製正小數,小數點後保留8位,並輸出。例如 若十進位制小數為0.795,則輸出 十進位制正小數 0.795000 轉換成 2 進製數為 0.11001011 十進位制正小數 0.795000 轉換成 3 進製數為 0.21011...
N進製小數
n進製小數 將任意十進位制正小數分別轉換成2,3,4,5,6,7,8,9進製正小數,小數點後保留8位,並輸出。例如 若十進位制小數為0.795,則輸出 十進位制正小數 0.795000 轉換成 2 進製數為 0.11001011 十進位制正小數 0.795000 轉換成 3 進製數為 0.21011...
進製轉換int2n
如果輸入合法,就是轉換的十進位制數是非負整數,base進製是大於等於2的正整數,然後malloc函式成功什麼的之後,哦,還有用完那個字元陣列還要free一下。細節細節,先不管吧,要用的話再補充。返回的char陣列中存的base進製的數是倒序的要注意一下,和高精度一致,嗯,也許倒著有點用。includ...