1樓:看星空的倉鼠
轉8和16進製制沒時間想
轉二進位制
int bin[8];
int toBin(int data) {for(int i = 0; i < 8; i++) {bin[i] = data & 0x80;
data <<=1;
2樓:新上路的司機
#include
intpow_10
(inta)
inttoB
(inta,
intb
)//10進製轉任意小於10的b進製
returnm;
}int
toHex
(inta,
char
*arr
)//轉16進製制專用,因為用到了字母表示數字,當然改一改可以用到36進製
arr[i]
='\0'
;return0;
}int
main();
printf
("%d %d "
,toB(i
,2),toB(i
,8));toHex(i
,p);j
=7;while(j
>=0)
printf("
\n");}
return0;
}另外改改main()滿足題目就行了。
3樓:岡部倫太郎
十六進製制
cout<八進位制
cout << oct
二進位制void toBin(int n) {if ( n )
toBin(n/2);
if (n)
cout << (n & 1);
4樓:總督大人
如果只是輸出的話
printf函式用%x可以輸出十六進製制數,%o可以輸出八進位制數,二進位制的話就自己手算吧,這也是這類題的目的所在,%x和%o其實有點算作弊了。
5樓:
char
*Change
(int
Sum,
intN
,bool
UpCase
=true
)int
sig=1;
intWid=2
;// 返回的字串需要多少位;
const
char
Letter=(
UpCase
?'A'
:'a')-
10;if(
Sum<0)
if(Sum if(Sum>=10) else*( ++p)= '\0' ;return(Ar );}inta=N ;Wid=3 ;for(;( a*=N) <=Sum; ++Wid );char*Ar =(char*) calloc (Wid ,sizeof (char ));*Ar= '0'; char*p =Ar+Wid;* p='\0' ;for (;Sum >0;Sum/=N) if(sig<0) if('0'==*Ar )if(N <=10) for(p= Ar;*p ;++p) }return(Ar );}#include #include #include "Cat.h" intmain (int argc ,char **argv )scanf (" %d",& N);if( Re=Change(a ,N,Up ))else }return0; }這樣可以吧? 6樓:Male God #include #define MAXCHAR 101 /*最大允許字串長度*/ int char_to_num(char ch); /*返回字元對應的數字*/ char num_to_char(int num); /*返回數字對應的字元*/ long source_to_decimal(char temp, int source); /*返回由原數轉換成的10進製數*/ int decimal_to_object(char temp, long decimal_num, int object); /*返回轉換成目標數制後字元陣列的長度*/ void output(char temp, int length); /*將字元陣列逆序列印*/ int main() int source; /*儲存原數制*/ int object; /*儲存目標數制*/ int length; /*儲存轉換成目標數制後字元陣列的長度*/ long decimal_num; /*儲存轉換成的10進製數*/ char temp[MAXCHAR]; /*儲存待轉換的數值和轉換後的數值*/ int flag = 1; /*儲存是否退出程式的標誌*/ while(flag) /*利用輸入的flag值控制迴圈是否結束*/ printf("轉換前的數是:"); scanf("%s", temp); printf("轉換前的數制是:"); scanf("%d", &source); printf("轉換後的數制是:"); scanf("%d", &object); printf("轉換後的數是:"); decimal_num = source_to_decimal(temp, source); length = decimal_to_object(temp, decimal_num, object); output(temp, length); printf("繼續請輸入1,否則輸入0:\n"); scanf("%d", &flag); return 0; /*將字元轉換成數字*/ int char_to_num(char ch) if(ch>='0' && ch<='9') return ch-'0'; /*將數字字元轉換成數字*/ else return ch-'A'+10; /*將字母字元轉換成數字*/ char num_to_char(int num) if(num>=0 && num<=9) return (char)('0'+num-0); /*將0~9之間的數字轉換成字元*/ else return (char)('A'+num-10); /*將大於10的數字轉換成字元*/ long source_to_decimal(char temp, int source) long decimal_num = 0; /*儲存展開之後的和*/ int length; int i; for( i=0; temp[i]!='\0'; i++ ); length=i; for( i=0; i<=length-1; i++ ) /*累加*/ decimal_num = (decimal_num*source) + char_to_num(temp[i]); return decimal_num; int decimal_to_object(char temp, long decimal_num, int object) int i=0; while(decimal_num) temp[i] = num_to_char(decimal_num % object); /*求出餘數並轉換為字元*/ decimal_num = decimal_num / object; /*用十進位制數除以基數*/ i++; temp[i]='\0'; return i; void output(char temp, int length) int i; for( i=length-1; i>=0; i--) /*輸出temp陣列中的值*/ printf("%c", temp[i]); printf("\n"); CSDN,你值得擁有! 餘深海 先潑點冷水 快醒醒吧,BIM不是Revit,建築業的技術人員和管理者拿數位化的手段來進行傳統的專案工作,BIM是他們的集合,所以多努力成為技術人員和管理者,這塊的功夫要少用一點。除了專業技能外,對於初學者建議 一 熟練掌握基本的建模手法 培訓機構只是帶你入門而已,深度的東西還需要在工作中遇到... CuKing 感覺挺不錯的,就是看這個入門的,有些人說知識點少,確實,不過這個也無所謂,慢慢積累就好,這書重要的是引導你程式設計,讓你知道什麼是C,什麼是程式設計,怎麼用C程式設計,而不是把C語言的所有都事無鉅細的交代給你,很適合初學。 YUER 非常精彩的一本書,然而另乙個類似問題下面的回答者全都... 什麼好用我不知道,但是老師讓我們裝的cfree 工作之後接觸過的編輯器,功能很強大的,sublime算乙個,據說atom也厲害,不知道能不能寫c。現在我是前端,很喜歡用vscode,不知道寫c啥感覺。 狐狸少爺 vs devcpp eclipse都還行,devcpp最方便,上手簡單,也不太佔硬碟,w...Revit 初學者應該怎麼做?
嗨翻C語言適合初學者嗎?
C語言初學者,用什麼軟體好?