c語言 進位制轉換 查錯,C語言進位制轉換問題

2023-05-16 05:25:17 字數 1431 閱讀 3180

1樓:文明菌

#include

#include //malloc函式標頭檔案。

#define initsize 100//初始分配的空間大小。

typedef int elemtype;//要據需要定義的資料型別。

typedef struct

linkstack;

void initstack(linkstack *s)//初始化棧。

int push(linkstack *s,elemtype x)//元素入棧。

s->data[s->top++]x;//把元素x入棧。

return 1;

int pop(linkstack *s)//元素出棧。

void list(linkstack s)//輸出棧內的元素。

printf("%c",chhex);

elseprintf("%d",;如果不大於10直接輸出。

printf(""

void main()

printf("對應的%d進位制數為:",x);

list(s);

2樓:匿名使用者

沒錯 不過輸入不合法的話會死掉。

比如輸入1 0

c語言進位制轉換問題

3樓:匿名使用者

ox表示十六進位制的數,所以轉成十進位制的過程如下:

4樓:九霄晨曦

c語言本身根本不存在進位制轉換。

如果是直接賦值。

int a=0x14;

就可以了。如果是鍵盤輸入 就是 scanf("%x",&a);

如果你需要輸出10進位制,就是 printf("%d",a);

進位制在c語言中只是一個表示方法,不影響變數本身。

5樓:匿名使用者

進位制轉換:

0x14(16進位制)

1x16+4=20(10進位制)

簡易***/

#include

void main()

c語言進位制轉換問題

6樓:匿名使用者

每三位二進位制數對應一個八進位制數。

二進位制 000 001 010 011 100 101 110 111

八進位制 0 1 2 3 4 5 6 7

例如 二進位制: 101 111 000 101 001轉化為八進位制是:5 7 0 5 1

7樓:跆拳道之子

三個位一組,用二進位制算出得出的數作為八進位制的一位二進位制 八進位制。

答案:333

8樓:匿名使用者

二的三次方等於八,所以三個二進位制位等同於一個八進位制位。所以11 011 011=八進位制333

C語言2進位制轉16進位制

2進位制還是16進位制就是一個表示形式,存在記憶體中的變數是不用轉的,就是顯示出來給人看不一樣。你可以這樣轉 16進位制顯示 printf variable a x a 2進位制顯示 char int2bin const int in,char out tp 0 while out tp out 0...

c語言10進位制轉換為2進位制使用陣列

用函式itoa 到網上查一查其用法就行了。10除2的餘數再倒數 for i 0,n 0,i for i 0 i printf d a i main for i i 0 i printf d p i printf n getch c語言問題 輸入一個十進位制數,將其轉化為二進位制數後存放在陣列中並輸出...

我寫的用C語言實現十進位制數轉換為二進位制數程式怎麼執行不起?高手們幫我看看

做個記號,你是採用c和c 的混合語言編寫的程式,我並不贊成這樣。首先是一個語法錯誤 你的函式int empty stack s 竟然沒有前置宣告 就呼叫了,這是一個語法錯誤!其實你完全可以把這些對棧的操作函式封裝在類中。應該把int empty stack s 放到int pop stack s,i...