將正小數(shù)轉(zhuǎn)化為2-9進(jìn)制小數(shù)的實(shí)現(xiàn)方法
將任意十進(jìn)制正小數(shù)分別轉(zhuǎn)換成2,3,4,5,6,7,8,9進(jìn)制正小數(shù),小數(shù)點(diǎn)后保留8位,并輸出。例如:若十進(jìn)制小數(shù)為0.795,則輸出:
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 2 進(jìn)制數(shù)為: 0.11001011
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 3 進(jìn)制數(shù)為: 0.21011011
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 4 進(jìn)制數(shù)為: 0.30232011
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 5 進(jìn)制數(shù)為: 0.34414141
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 6 進(jìn)制數(shù)為: 0.44341530
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 7 進(jìn)制數(shù)為: 0.53645364
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 8 進(jìn)制數(shù)為: 0.62702436
十進(jìn)制正小數(shù) 0.795000 轉(zhuǎn)換成 9 進(jìn)制數(shù)為: 0.71348853
以下代碼提供了這個功能。其中,dTestNo表示待轉(zhuǎn)的十進(jìn)制小數(shù)。iBase表示進(jìn)制數(shù)。
#include <stdio.h>
void fun(double dTestNo, int iBase)
{
int iT[8]; //轉(zhuǎn)化后的小數(shù)保留8位數(shù)
int iNo;
printf("十進(jìn)制正小數(shù) %f 轉(zhuǎn)換成 %d 進(jìn)制數(shù)為: ",dTestNo, iBase);
for(iNo=0;iNo<8;iNo++) //分別得出每位數(shù)字 小數(shù)部分
{
dTestNo *= iBase;
iT[iNo] = (int)dTestNo; //得出整數(shù)部分存放起來
if(dTestNo>=1) dTestNo -= iT[iNo]; //減去整數(shù)部分
}
printf("0.");
for(iNo=0; iNo<8; iNo++) printf("%d", iT[iNo]);
printf("\n");
}
void main ( )
{
double dTestNo= 0.795;
int iBase;
for(iBase=2;iBase<=9;iBase++)
fun(dTestNo,iBase);
printf("\n");
}
相關(guān)文章
C++數(shù)據(jù)結(jié)構(gòu)之紅黑樹的實(shí)現(xiàn)
紅黑樹在表意上就是一棵每個節(jié)點(diǎn)帶有顏色的二叉搜索樹,并通過對節(jié)點(diǎn)顏色的控制,使該二叉搜索樹達(dá)到盡量平衡的狀態(tài)。本文主要為大家介紹了C++中紅黑樹的原理及實(shí)現(xiàn),需要的可以參考一下2022-08-08C語言實(shí)現(xiàn)最簡單的剪刀石頭布小游戲示例
這篇文章主要介紹了C語言實(shí)現(xiàn)最簡單的剪刀石頭布小游戲,涉及C語言數(shù)組、隨機(jī)數(shù)與數(shù)值運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下2017-09-09詳解C++中遞增運(yùn)算符重載的實(shí)現(xiàn)
本文主要詳解運(yùn)算符重載里的遞增運(yùn)算符重載;遞增和遞減原理是一樣的,這里就只分享遞增的重載;提到遞增遞減,我們都知道又前置和后置兩種方法, 那今天就詳解一下前置遞增和后置遞增的細(xì)節(jié),拿捏遞增運(yùn)算符重載2022-06-06