c語言十進位制轉八進位制的程式c語言一個十進位制轉八進位制的程式

2021-03-06 05:53:49 字數 1695 閱讀 4434

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