從K進位轉換成T進位 將十進位轉化為k進位方法

時間 2025-05-24 03:45:13

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 ...