八進位制整數向二進位制,十進位制,十六進製制整數轉換的c語言程式設計程式

2021-04-08 23:57:57 字數 6192 閱讀 1696

1樓:淡若親風

#include

#include

#include

char hashcode[16]=;

void tobinary(int n)

while(top!=-1)

printf("%d",s[top--]);

printf("\n");

}void tooctonary(int n)while(top!=-1)

printf("%c",s[top--]);

printf("\n");

}void tohex(int n)

while(top!=-1)

printf("%c",s[top--]);

printf("\n");

}int main()

{char number[100];

int n=0;

unsigned int i;

scanf("%s",number);

for(i=0;i

c語言程式設計二進位制整數向八進位制、十進位制、十六進製制整數的轉換

2樓:匿名使用者

#include

void showbit(int n)

printf("%d",n%2);

}void showoct(int n)

printf("%d",n%8);

}void showhex(int n)

printf("%d",n%16);

}int main()

3樓:你猜我猜哇擦猜

二進位制轉換成八進位制數

(1)二進位制數轉換成八進位制數:對於整數,從低位到高位將二進位制數的每三位分為一組,若不夠三位時,在高位左面添0,補足三位,然後將每三位二進位制數用一位八進位制數替換,小數部分從小數點開始,自左向右每三位一組進行轉換即可完成。例如:

將二進位制數1101001轉換成八進位制數,則

(001 101 001)2

| | |

( 1 5 1)8

( 1101001)2=(151)8

(2)八進位制數轉換成二進位制數:只要將每位八進位制數用三位二進位制數替換,即可完成轉換,例如,把八進位制數(643.503)8,轉換成二進位制數,則

(6 4 3 . 5 0 3)8

| | | | | |

(110 100 011 . 101 000 011)2

(643.503)8=(110100011.101000011)2

4、二進位制與十六進製制之間的轉換

(1)二進位制數轉換成十六進製制數:由於2的4次方=16,所以依照二進位制與八進位制的轉換方法,將二進位制數的每四位用乙個十六進製制數碼來表示,整數部分以小數點為界點從右往左每四位一組轉換,小數部分從小數點開始自左向右每四位一組進行轉換。

(2)十六進製制轉換成二進位制數

如將十六進製制數轉換成二進位制數,只要將每一位十六進製制數用四位相應的二進位制數表示,即可完成轉換。

例如:將(163.5b)16轉換成二進位制數,則

( 1 6 3 . 5 b )16

| | | | |

(0001 0110 0011. 0101 1011 )2

(163.5b)16=(101100011.01011011)2

c語言裡面 %d是十進位制 %o是八進位制 %x是十六進製制 %多少是二進位制

4樓:匿名使用者

c語言裡面沒有直接打出二進位制數的格式符。

c語言中對於不同型別的資料用不同的格式字元。控制printf函式輸出格式的是格式字元,printf函式中輸出的格式為printf("《格式化字串》", 《參量表》),格式化字串由格式控制、和輸出表列兩部分組成,其中格式控制包含格式宣告和普通字元。

格式宣告由「%」和格式字元組成,如%d、%f等。它的作用是將輸出的資料型別轉換為指定的格式然後輸出。普通字元是需要在輸出時原樣輸出的字元。

擴充套件資料:

printf函式格式字元:

常用的有以下幾種格式字元:

1. d格式字元。用來輸出十進位制整數。有以下幾種用法:

(1)%d,按整型資料的實際長度輸出。

(2)%md,m為指定的輸出欄位的寬度。

(3)%ld,輸出長整型資料。

2. o格式符,以八進位制整型式輸出整數。

3. x格式符,以十六進製制數形式輸出整數。

4. u格式符,用來輸出unsigned型資料,即無符號數,以十進位制形式輸出。

5. c格式符,用來輸出乙個字元。

6. s格式符,用來輸出乙個字串。

7. f格式符,用來輸出實數(包括單雙精度),以小數形式輸出。

8. e格式符,以指數形式輸出實數。

9. g格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出是佔寬度較小的一種),且不輸出無意義的零。

10. p格式符,用於變數位址的輸出。

5樓:匿名使用者

c語言中沒有格式說明符對應二進位制形式的輸出和輸入,如果想以二進位制形式輸出某個數,可以使用自定義函式來實現。

示例:#include

void _printbinary(int a)//遞迴列印正二進位制形式數

void printbinary(int a)//以二進位制形式列印所有int型數

if (a < 0)

_printbinary(a);

}int main()

附:其他轉換說明符

%a(%a) 浮點數、十六進製制數字和p-(p-)記數法(c99)%c 字元

%d 有符號十進位制整數

%f 浮點數(包括float和doulbe)%e(%e) 浮點數指數輸出[e-(e-)記數法]%g(%g) 浮點數不顯無意義的零"0"

%i 有符號十進位制整數(與%d相同)

%u 無符號十進位制整數

%o 八進位制整數 e.g. 0123

%x(%x) 十六進製制整數0f(0f) e.g. 0x1234%p 指標

%s 字串

%% "%"

6樓:匿名使用者

%d,%o,%x等等只不過是一種格式輸出,這些都是將機器儲存的二進位制數字進行轉化從而輸出的。它只是一種輸出格式。如果你像要輸出二進位制,你可以利用組合語言。

7樓:匿名使用者

這個........

這個沒有,這個真的沒有。

十六進製制轉二進位制不是很方便嘛!

8樓:匿名使用者

c中有二進位制,例如:int i = 0b0110110

但是輸出有些困難,有些作業系統可以寫%b輸出二進位制數,有些只能轉換成其他進製輸出。

9樓:

沒有二進位制 ,如果要輸出,你可以轉化一下呀,由十進位制轉化為二進位制,除2就可以了,取他的餘數和商,如果要輸入,你可以以十進位制讀入,再轉化為二進位制數,只不過比較麻煩

10樓:

二進位制數太長了,難以顯示,那是給機器讀的,不是給人看的。

11樓:匿名使用者

很明確的告訴你,沒有二進位制

c語言程式設計,輸入十進位制數輸出十六進製制和八進位制

12樓:園林植物手冊

可以通過下面的公式解決

#include

const int maxn = 128;

const int index8 = 8;

const int index16 =16;

int main()

while(m)

int i;

for(i = cot8 - 1; i >= 0; i--)printf("%d", array8[i]);

puts("");

for(i = cot16 - 1; i >= 0; i--)擴充套件資料:

十進位制轉十六進製制的具體方法:對於整數部分,用被除數反覆除以16,除第一次外,每次除以16均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。

對於小數部分,採用連續乘以基數16,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。

10進製數轉換成十六進製制數,這是乙個連續除以16的過程:把要轉換的數,除以16,得到商和餘數,將商繼續除以16,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

13樓:匿名使用者

可以格式化輸出。

#include

int main()

14樓:匿名使用者

#include

void showbit(int n)

printf("%d",n%2);

}void showoct(int n)

printf("%d",n%8);

}void showhex(int n)

printf("%d",n%16);

}int main()

15樓:著述的鴨子非了

#include

main()

while(n!=0);

for(i--;i>=0;i--)

putchar(s[i]);

} //十進位制轉八進位制 十六進製制方法類似#include

void main()

請問用c語言編寫乙個十進位制轉換成二進位制或八進位制或十六進製制的程式需要怎麼打?

16樓:會飛的小兔子

#include

voidmain()

inttransfer(intx)

}returny;

}擴充套件資料c語言:整數轉換十六進製制數和八進位制

#include

voidmain()

17樓:匿名使用者

int main()

while(b!=1);

c[j]=1;

printf("二進位制為: ");

for(i=j;i>=0;i--)

printf("%d",c[i]);

break;

case 8:

printf("請輸入乙個十進位制:b= ");

scanf("%d",&b);

dowhile(b!=0);

printf("八進位制為: ");

for(i=j-1;i>=0;i--)

printf("%d",c[i]);

break;

case 16:

printf("請輸入乙個十進位制:b= ");

scanf("%d",&b);

dowhile (b!=0);

printf("十六進製制為: ");

for(i=j-1;i>=0;i--)

printf("%d",c[i]);break;

default:printf("錯誤\n");}}修改過的,望採納

二進位制數轉換為對應的十進位制、八進位制和十六進製制數,c語言?

18樓:問下問題

#include

#include

char s[128];

int main()

else

}printf("the number is %d in decimal.\n",n);

printf("the number is %o in octal.\n",n);

printf("the number is %x in octal.\n",n);}

19樓:沙里波特

樓主自己做一些吧。

什麼地方有不會的,再來求助。

c語言程式設計題:從鍵盤輸入乙個十進位制數,將其轉換為二進位制、八進位制和十六進製制數,並同時輸出。

20樓:釋夕楊歌

十進位制數

轉二進位制、八進位制、十六進製制的經典程式

程式源**:

copy

code#include

//十進位制數轉換成二進位制數字

void

fun_1(intn)}

十進位制二進位制還有八進位制十六進製制中的dboh分

這四個字母分別代表不同進製的字尾 區別如下 d decimal 表示這個數是十進位制 b binary 表示這個數是二進位制 o octor 表示這個數是八進位制 h hex 表示這個數是十六進製制 擴充套件資料 進製之間可以相互轉換,具體方法如下 1 二進位制數 十六進製制數轉換為十進位制數 用按...

二進位制,八進位制,十進位制,十六進製制之間的相互轉換方法

這是我自己製作的進製轉換文件 你可以去看看 有詳細的步驟 如果講軟體處理 變數中的值都是以二進位制儲存的,不能用其他進製。如果要輸出為字串,可以用函式轉換。如果講數制表示 我們平時書寫的數僅僅寫出了表示式的係數,是簡寫法。標準書寫如下 比如乙個數寫為 321。十進位制321 3x10 2 2x10 ...

八進位制十六進製制的優點二進位制十進位制八進位制十六進製制各代表的英文本母是什麼

首先,計算機採用二進位制 即0,1 用二進位制 有很多有點,比方說在邏輯運算子中0代表假,非0代表真 在邏輯電路中,0和1各代表導通或者不通 各個電路0和1代表的不一樣 而十進位制顯然沒有這個優點 另外2進製數和8進製數,16進製制數之間轉換相當方便,譬如二進位制轉8進製每三位轉一數,二進位制轉16...