1樓:幻想自由艦
本來想寫乙個,時間問題,網上找了乙個。
#include
#include
#include
void dtox(double num,int jz)char xnum[100];
int dnum=(int) num;
int i=0,j=0,e = 0;
while(dnum>=jz)
xnum[j++]dnum%jz+48;
dnum=dnum/jz;
xnum[j] =dnum+48;
for(i = j;i>=0;i--)
printf("%c",xnum[i]);
if(dnum - num !=0)
printf(".
num = num - int)num;
do 桐迅。
e++;printf("%c",(int)(num*jz)+48);
num = num*jz-(int)(num*jz);
if(num ==0)break;
while(e<20);
double xtod(char num,int jz)double dnum = 0;
int i,j,k=0,n=0,b;
for(i=0;;i++)
if(num[i]==0')break;
else n++;
if(num[i]==
j=i;k=1;
for(i=j-1;i>=0;i--)
dnum =dnum + double)(num[j-i-1]-48)*pow(jz,i);
if(k==1)
for(i=j+1;i
2樓:網友
樓上的能給個高精麼。
將十進位轉化為k進位方法?
3樓:瑞春楓
十進位數轉換為二進位數時,由於整數和小數的轉換方法不同,所以先將十進位數的整數部分和小數部分分別轉換後,再加以合併。
1、十進位整數轉換為二進位整數 十進位整數轉換為二進位整數採用"除2取餘,逆序排列"法。具體做法是:用2去除十進位整數,可以得到乙個商和餘數;再用2去除商,又會得到乙個商和餘數,如此進行,直到商為零時為止,然後把先得到的餘數作為二進位數的低位有效位,後得到的餘數作為二進位數的高位有效位,依次排列起來。
2、十進位小數轉換為二進位小數。
十進位小數轉換成二進位小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進位小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到乙個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。
然後把取出的整數部分按順序排列起來,先取的整數作為二進位小數的高位有效位,後取的整數作為低位有效位。
4樓:匿名使用者
第一步,將給定的十進位整數除以基數k.餘數便是所求k進位的最低位: 第二步,將上一步的商再除以基數k,餘數便是所求k進位數的次低位:
第三步,重複第二步,直到所得的商為0,將每步的餘數依次從右到左排列,便是k進位各位上的數,最後一步的餘數是最高位。
5樓:匿名使用者
用十除以k
以十進位轉二進位為例:
用2輾轉相除至結果為1
將餘數和最後的1從下向上倒序寫就是結果。
例如302302/2 = 151 餘0
151/2 = 75 餘1
75/2 = 37 餘1
37/2 = 18 餘1
18/2 = 9 餘0
9/2 = 4 餘1
4/2 = 2 餘0
2/2 = 1 餘0
故二進位為100101110
或用記算器算。
6樓:南霸天
轉換方法:
第一步:將給定的十進位整數除以基數k.餘數便是所求k進位的最低位;
第三步:重複第二步,直到所得的商為0,將每步的餘數依次從右到左排列,便是k進位各位上的數,最後一步的餘數是最高位。
轉換舉例:例如十進位數15轉換為二進位數。
被除數 計算過程 商 餘數。
十進位數15轉換為二進位數為1111
這個進位怎麼轉換的呀
7樓:金色潛鳥
正數 反碼==補碼==原碼。
負數,不考慮符號位的 反碼 + 1=補碼, 符號位保留1。
負數反碼 =補碼 - 1
所以b6h的 反碼 = b6h -1 得 b5h 選 d.
將二進位制101101101轉換成十進位制數怎麼轉換要
聖魔破天 二進位制轉化成十進位制的方法就是 每一位乘以二的這一位後面有幾位數的次方,例如 10就是,0位後面有0個數,所以就是0乘以2的0次方,1後面有1個數,所以就是1乘以2的1次方,最後所有結果相加就是最後轉換成的十進位制數 雨夜聽風過 101101101換算成 十進位制 第0位 1 2的0次方...
十進位制133轉換成2進位制是多少,十進位制101轉換成二進位制是多少?
兩種方法 1 小數部分按標準的 乘2取整,順序排列 0.33 2 0.66,取0 0.66 2 1.32,取1 0.32 2 0.64,取0 0.64 2 1.28,取1 0.28 2 0.56,取0 0.56 2 1.12,取1 0.12 2 0.24,取0 0.24 2 0.48,取0 0.48...
二進位制數00111101轉換成十進位制數是要步驟
777簡簡單單 方法 要從右到左用二進位制的每個數去乘以2的相應次方。00111101 2 61 10 00111101 從後往前 第一位數 1乘以2的0次方 第二位數 0乘以2的1次方 1乘以2的2次方 1乘以2的3次方 1乘以2的4次方 1乘以2的5次方 0乘以2的6次方 0乘以2的7次方 1 ...