在C語言中,輸入十進位制數,將其轉化為二進位制數,八進位制數,十六進位制數,並輸出(要求用函式來實現)

時間 2021-09-07 11:58:35

1樓:老馮文庫

c語言程式:

#include

#include

#include

#define max 33

char signs = ;

/* 十進位制數轉換為二進位制數(字串表示) */char *dectobin(long num);

/* 十進位制數轉換為八進位制數(字串表示) */char *dectooct(long num);

/* 十進位制數轉換為十六進位制數(字串表示) */char *dectohex(long num);

int main()

/* 十進位制數轉換為二進位制數(字串表示) */char *dectobin(long num)for(i=0; i 0)

for(i=0; i 0)

for(i=0; i

執行測試:

2樓:

/****程式說明:輸入一個十進位制數,將其轉化為二進位制數,八進位制數,十六進位制數

*/#include

//任意進位制轉換函式,輸入數字n 進位制radixvoid hex_to_others(int n,int radix)

while(n != 0);

for(i=k;i>=0;i--)

printf("\n");

}int main()

3樓:碧海風雲

#include

#include

#define len 100

int decimal2binary (int num)printf("二進位制:");

while(i>0)

printf("%d",s[--i]);

printf("\n");

itoa(num,string,2);

printf("使用itoa函式驗證:%s\n",string);

printf("\n");

}int decimal2octal (int num)printf("八進位制:");

while(i>0)

printf("%d",s[--i]);

printf("\n");

itoa(num,string,8);

printf("使用itoa函式驗證:%s\n",string);

printf("\n");

}int decimal2hexadecimal (int num)s[i]='\0';

printf("十六進位制:");

for(i=strlen(s)-1;i>=0;i--)printf("%c",s[i]);

printf("\n");

itoa(num,string,16);

printf("使用itoa函式驗證:%s\n",string);

printf("\n");

}int main(void)

執行結果

c語言從鍵盤輸入一個十進位制數,將其轉換為二進位制、八進位制和十六進位制數。

4樓:匿名使用者

#include

#define max 1000

void main()

else if(flag)}}

}int func(char s)

return(n);

}另外,團idc網上有許多產品**,便宜有口碑

5樓:

#include"stdio.h"

main()

【c語言】輸入一個十進位制數,轉換成對應的八進位制數和十六進位制數並輸出

6樓:聽不清啊

#include

void dec2n(int x,int n)

int main()

7樓:匿名使用者

#include

const int maxn = 128;

const int index8 = 8;

const int index16 = 16;

int main()

while(m)

int i;

for(i = cot8 - 1; i >= 0; i--)printf("%d", array8[i]);

puts("");

for(i = cot16 - 1; i >= 0; i--)printf("%d", array16[i]);

return 0;}

8樓:楊小會

#include

int main(int argc, char *ar**)

這個最簡單,簡單粗暴,一招致命

求高手寫c語言程式**:"從鍵盤輸入一個十進位制數,將其轉換為二進位制、八進位制和十六進位制數。"

9樓:匿名使用者

#include

//轉換為2進位制

void showbit(int n)

printf("%d",n%2);

}//轉換為8進位制

void showoct(int n)

printf("%d",n%8);

}//轉換為16進位制

void showhex1(int n)

}void showhex(int n)

else

showhex1(n%16);

}main()

使用者輸入一個十進位制正整數,然後分別轉換成為二進位制數、八進位制數和十六進位制數輸出。(是c++,不是c)

10樓:匿名使用者

#include

using namespace std;

int main()

cout<十六進位制使用格式化輸出即可,oct表示八進位制,hex表示十六進位制

cout<

cout<

}如果有不懂請追問。

11樓:支景明孔茶

確定問題沒有什麼別的要求??比如說111可以是二進位制也可以是八進位制和十六進位制。。。

12樓:匿名使用者

有一個轉換函式很好用:

char *itoa(int value, char *string, int radix);

int value 被轉換的整數,char *string 轉換後儲存的字元陣列,int radix 轉換進位制數,如2,8,10,16 進位制等

標頭檔案: itoa操作使用

但注意:這個不是c++標準庫函式,只能在visual c++系列編譯器環境下使用

想在gcc上做的話,可以設定輸出格式,也可以自己編函式進行轉換……

13樓:匿名使用者

有輸出格式設定的,

#include

#include

int main()

c語言程式設計,輸入十進位制數輸出十六進位制和八進位制

14樓:園林植物手冊

可以通過下面的公式解決

#include

const int maxn = 128;

const int index8 = 8;

const int index16 =16;

int main()

while(m)

int i;

for(i = cot8 - 1; i >= 0; i--)printf("%d", array8[i]);

puts("");

for(i = cot16 - 1; i >= 0; i--)擴充套件資料:

十進位制轉十六進位制的具體方法:對於整數部分,用被除數反覆除以16,除第一次外,每次除以16均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。

對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。

10進位制數轉換成十六進位制數,這是一個連續除以16的過程:把要轉換的數,除以16,得到商和餘數,將商繼續除以16,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

15樓:匿名使用者

可以格式化輸出。

#include

int main()

16樓:匿名使用者

#include

void showbit(int n)

printf("%d",n%2);

}void showoct(int n)

printf("%d",n%8);

}void showhex(int n)

printf("%d",n%16);

}int main()

17樓:著述的鴨子非了

#include

main()

while(n!=0);

for(i--;i>=0;i--)

putchar(s[i]);

} //十進位制轉八進位制 十六進位制方法類似#include

void main()

c語言問題:輸入一個十進位制數,將其轉化為二進位制數後存放在陣列中並輸出

18樓:凌亂心扉

#include

#define uint unsigned int

#define ushort unsigned short

//求2的n次方

int cifang(int n)

return sum;

}//十進位制

正數轉換成二進位制數

uint transform_data_zhengshu(uint frequence,ushort*pwm_table)

return pwm_index-1;

}uint transform_data(int frequence,ushort*pwm_table)

;//負數

if(frequence<0)

//將轉換出來的十進位制數sum加一

sum+=1;

//printf("sum=%d\n",sum);

//最後再轉成二進位制pwm_table

return transform_data_zhengshu(sum,pwm_table);

}//正數

return transform_data_zhengshu(frequence,pwm_table);

}int main();

uint off_set;

off_set=transform_data(frequence,pwm_table);

int i=0;

for(i=off_set;i>=0;i--)

return 0;}

19樓:匿名使用者

源程式如下:#include

void main()

printf("十進位制整數%d轉換為二進位制數是:\n",y);

for(i--;i>=0;i--)

printf("%d",a[i]);//通過陣列輸出printf("\n");

}vc++測試如下:

20樓:匿名使用者

#include

void fun(int n)

for(i = i-1; i >= 0; i--)printf("\n");

}int main()

將十進位制數902.348轉換為二進位制數、八進位制數和十六進位制數。

21樓:北京瑞星資訊科技股份****

902:

1110000110;

1606;386

348:

101011100;534;15c

902.348:

1110000110.010110010001011010000111001010110000001;

1606.2621320712601;

386.5916872b02。

22樓:匿名使用者

二進位制:1110000110.01011001000101101000011100101011

c語言設計輸入十進位制數將其轉換成n進位制數

金魚 最簡單的,不涉及演算法的作法就是用printf的輸出格式 x 輸出16進位制 x 輸出小寫的a b c d e f x輸出大寫的a b c d e f include stdio.h int main 以下是執行結果 風雷九州 include int x 100 int jzzh int y,...

c語言十進位制轉二進位制,C語言十進位制轉二進位制

何老師 答疑 十進位制轉二進位制可以使用庫函式itoa。itoa函式原型 char itoa int value,char string,int radix 功能 將任意型別的數字轉換為字串。在中與之有相反功能的函式是atoi。nt value 被轉換的整數,char string 轉換後儲存的字元...

c語言十進位制數轉化為二進位制數,C語言 十進位制數轉化為二進位制數

思路 十進位制整數轉換為二進位制整數採用 除2取餘,逆序排列 法。即用2整除十進位制整數,可以得到一個商和餘數 再用2去除商,又會得到一個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為二進位制數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來。include stdi...