1樓:
//這是我資料結構課上老師留的課堂作業,但是此**並非本人原創。但已通過驗證。
//這個**可以把十進位制的轉換成任意進位制的。
#include
#include
#define stack_init_size 50#define stack_increment 10//①------------棧定義--------typedef structstack;
//②-----------構造棧---------stack initstack()
//③------------判空----------int stackempty(stack s)//④---------- 清空棧----------void clearstack(stack s)//⑤------------壓棧-------------void push(stack *s,int elem) //必須用指標,否則top地址出了函式後不變
*(s->top++)=elem;
}//⑥------------出棧---------------int pop(stack *s) //必須用指標,否則top地址出了函式後不變
//printf("%d ",*(--s.top));
return *(--s->top);
}//⑦------------求棧長-----------int getlength(stack s)//⑧-------------求棧頂----------int gettop(stack s)
return *(s.top-1);
}//------------主函式-----------int main()
push(s1,d1);
printf("%d轉化為%d進位制後為:\n",d3,d2);
while(!stackempty(s))printf("\n");}
2樓:匿名使用者
//例子:十進位制的12345 轉化成五進位制。
#include
int main()}}
3樓:戈清寧
#include
#include
int power(int a,int b)return sum;
}void main()
將函式change中的num 全部轉為5
即可固定轉變為進製為5的數
或者在執行時 輸入 num,5 num為要轉化的10進位制數也可轉化為 5進位制數、
4樓:匿名使用者
就給個思路:不斷對5求餘%,所得的一系列數從後往前排就差不多是
c語言如何實現十進位制轉換二進位制?
5樓:
#include
#include
#include
using namespace std;
string zhuanhuan(int num,int base)while(num!=0);
while(!stk.empty())
return numstr;
}int main()
以上**能實現任意進位制之間的轉換!希望對你有幫助!!
6樓:理工男老
十進位制轉換為二進位制的方法,十進位制轉化為二進位制,十進位制轉2進位制
c語言程式十進位制的數轉換成八進位制的數
7樓:楓橋映月夜泊
c語言程式十進位制的數轉換成八進位制的數的辦法:
#include
#include
void main()
printf("八進位制輸出sum:%d",sum);}
8樓:
#include
int main()
9樓:匿名使用者
先10轉2 再轉8,16進位制。8,16轉2再轉10進位制。
比如:八進位制:63 ->二進位制:110(6) 011(3) -> 十進位制:32+16+2+1 = 51
十六進位制:a5 ->二進位制:1010(a) 0101(5) -> 十進位制:128+32+4+1 = 165
十進位制 19 ->二進位制 1 0011 -> 八進位制: (010 011) = 23
-> 十進位制:(0001 0011) = 13通過二進位制之後 會簡單多了,希望對你有幫助。
10樓:聽不清啊
#include
void dec2oct(int x)
int main()
11樓:汪好帥
#include
#include
void main()
printf("八進位制輸出sum:%d",sum);}
12樓:匿名使用者
??????????????
跪求c語言中,能實現2,8,10,16進位制之間轉換的源**啊
13樓:來學c語言
全能的!
#include
two_eight()
i=0;
while(n)
printf(" 2 進位制轉化為 8 進位制:");
for(i--;i>=0;i--)
printf("%d",s[i]);
printf("\n");
}two_ten()
printf(" 2 進位制轉化為 10 進位制:%d\n",n);
}two_sixten()
i=0;
while(n)
i++;
}printf(" 2 進位制轉化為 16 進位制:");
for(i--;i>=0;i--)
printf("%c",str[i]);
printf("\n");
}eight_two()
i=0;
while(n)
printf(" 8 進位制轉化為 2 進位制:");
for(i--;i>=0;i--)
printf("%d",s[i]);
printf("\n");
}eight_ten()
printf(" 8 進位制轉化為 10 進位制:%d\n",n);
}eight_sixten()
i=0;
while(n)
i++;
}printf(" 8 進位制轉化為 16 進位制:");
for(i--;i>=0;i--)
printf("%c",str[i]);
printf("\n");
}ten_two()
printf(" 10 進位制轉化為 2 進位制::");
for(i--;i>=0;i--)
printf("%d",s[i]);
printf("\n");
}ten_eight()
printf(" 10 進位制轉化為 8 進位制:");
for(i--;i>=0;i--)
printf("%d",s[i]);
printf("\n");
}ten_sixten()
i++;
}printf(" 10 進位制轉化為 16 進位制:");
for(i--;i>=0;i--)
printf("%c",str[i]);
printf("\n");
}sixten_two()
i++;
}for(j=0;j=0;i--)
printf("%d",s[i]);
printf("\n");
}sixten_eight()
i++;
}for(j=0;j=0;i--)
printf("%d",s[i]);
printf("\n");
}sixten_ten()
i++;
}for(j=0;j12;)
switch(select)
printf("按任意鍵回車繼續,按 n 鍵退出程式。");
getchar();
n=getchar();
printf("\n");}}
14樓:匿名使用者
#include
#include
#include
#include
#include
#define cap 80
char *inputnum(char *num,const int base)
return num;
}void c2t(char *num)
sprintf(num,"%d",n);
}void ctbin(const int n)
}void ct(char *num,const int sbase,const int tbase)
switch (tbase)
}int main(void)
在c語言中,如何用陣列來實現2進位制轉換為10進位制?
15樓:育知同創教育
用陣列來實現2進位制轉換為10進位制的方法:
#include
#include
viod main()
while(n!=0);
for(i=49;a[i]==0;i--) ; //找到二進位制開始的地方,也就是最後一個餘數在陣列中的位置
for(;i>-1;i--)
printf("%d",a[i]);}
16樓:
問題不是很清楚,是一個'1' 和‘0’ 的char 作為input,然後一個int 作為結果的話,可以這樣寫:
比如進來時“10100010001”這樣一個用char 表示的string的話
int convert(char * arg)return result;
}如果想程式跑的快點可以加一個 #pragma omp parallel for (+:result) firstprivate(i) 在for迴圈前面一行, 當然如果題主不需要就當沒看到這個啦, xd
希望解答了你的問題
c語言的進位制轉換問題,C語言16進位制轉10進位制問題,非強制轉換!
錯在 for count 1 num 0 count 你輸出的是按照餘數的先後順序輸出的,但是十進位制轉化成二進位制時,應該按照餘數的逆順序輸出的,你弄錯了順序,還有scanf d nuum 少了一個逗號,我寫的程式給你參考下吧!保管正確。include void main for i count ...
如何用JAVA語言將十六進位制數轉換成二進位制數,並輸出
我的思路很簡單 public class 六轉2 初始化 private static void init 首先你要寫一個 將一位的16進位制數轉成對應的4位的二進位制數的函式。然後就可以用這個函式對一個16進位制數逐位的轉換 如何用java語言將十六進位制數轉換成二進位制數,並輸出 你的意思是輸入...
用c語言程式設計,實現十進位制和二進位制的相互轉化
include int getnumber char s,int n return k else return 0 void exchange char s,int n,int k for i 0 ivoid main include int main printf 二進位制為 i for i 0 ...