1樓:匿名使用者
字元在字元數
組中儲存的其實都是它們所對應的的ascii碼。為了能從字元陣列中輸出想要的數字,只需,數字+'0'('0'在字元陣列中儲存的就是0的ascii碼,也就是48,這裡你把字元'0'換成48,結果也是正確的),也就是輸出的就是將整型0~9,變為了字元型'0'~'9'。
2樓:匿名使用者
j加上字元『0』的意思是 把數字0 轉化為 字元『0』 因為0的ascii為 48 所以也可以寫成
s[i++]=j+48
可以檢視ascii表。
3樓:匿名使用者
#include
int main()
while(n>0)
if(c==1)
printf("-");
for(i-=1;i>=0;i--)
printf("%x",a[i]);
printf("\n");}}
這是初學的時候寫的一個十進位制轉任意進位制的。。你看看
4樓:楊夕植詞
其實我看你是瞭解一些八進位制和c語法的,因為你使用了scanf("%o",&a);
但是你的**有很多很多的錯誤。。。不是一下就能說明的。舉些錯誤的地方吧:
1)tra(a);不對,既然你的函式是inttra(),而且返回了s,那麼應該是a=tra();
2)s的初始值沒有,應該是int
s=0;吧,另外b這一變數貌似沒有用處。。。
最簡單的方法就是下面的**,你考慮的太複雜了,呵呵:
#include"stdio.h"
intmain()
當輸入10(8進位制)的時候,會輸出8(10進位制)。
望採納!
c語言程式十進位制的數轉換成八進位制的數
5樓:楓橋映月夜泊
c語言程式十進位制的數轉換成八進位制的數的辦法:
#include
#include
void main()
printf("八進位制輸出sum:%d",sum);}
6樓:
#include
int main()
7樓:匿名使用者
先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通過二進位制之後 會簡單多了,希望對你有幫助。
8樓:聽不清啊
#include
void dec2oct(int x)
int main()
9樓:汪好帥
#include
#include
void main()
printf("八進位制輸出sum:%d",sum);}
10樓:匿名使用者
??????????????
c語言程式十進位制的數轉換成八進位制的數
c語言程式十進位制的數轉換成八進位制的數的辦法 include include void main printf 八進位制輸出sum d sum include int main 先10轉2 再轉8,16進位制。8,16轉2再轉10進位制。比如 八進位制 63 二進位制 110 6 011 3 十進...
2055十進位制轉二進位制,再轉八進位制,詳細過程
十進位制轉二進位制 整數部分 205 2 102.1 102 2 51 0 51 2 25 1 25 2 12 1 12 2 6 0 6 2 3 0 3 2 1 1 1 2 0 1 然後我們將餘數按從下往上的順序書寫就是 11001101,那麼這個11001101就是十進位制205的二進位制形式 小...
將八進位制數76轉換為十進位制數,將十進位制數76625轉換成八進位制數為
是63喲,32 16 8 4 2 1 63 將十進位制數76.625轉換成八進位制數為 將十進位制數76.625轉換成八進位制數為114.5。參考過程如下 76 8 9 4 9 8 1 1 1 8 0 1 把餘數從下往上排,故整數部分為114 0.625 8 5 小數部分為0.5 所以答案為114....