n進製小數,double到int的強制轉換

2021-10-24 00:16:01 字數 964 閱讀 3097

將任意十進位制正小數分別轉換成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...