c語言中十六進位制和八進位制的格式,c語言裡面 d是十進位制 o是八進位制 x是十六進位制 多少是二進位制

2021-04-08 23:57:57 字數 4331 閱讀 9273

1樓:靜物描寫

八進位制八進位制由 0~7 八個數字組成,使用時必須以0開頭(注意是數字 0,不是字母 o),例如:

int a = 015; //換算成十進位制為 13int b = -0101; //換算成十進位制為 -65int c = 0177777; //換算成十進位制為 65535十六進位制

十六進位制由數字 0~9、字母 a~f 或 a~f(不區分大小寫)組成,使用時必須以0x或0x(不區分大小寫)開頭,例如:

//合法的十六進位制

int a = 0x2a; //換算成十進位制為 42int b = -0xa0; //換算成十進位制為 -160int c = 0xffff; //換算成十進位制為 65535拓展資料:

二進位制數、八進位制數和十六進位制數的輸出

c語言中常用的整數有 short、int 和 long 三種型別,通過 printf 函式,可以將它們以八進位制、十進位制和十六進位制的形式輸出。

2樓:失蹤的板栗

16進位制以0x開頭,後面跟數字0~9或字母a~f(小寫也可以)。如:0x2d(16進位制數2d)

8進位制以0開頭,後面跟數字0~7。如:045(8進位制數45)如果使用printf函式輸出時,可以通過格式數明符來控制輸出格式。

舉例如下:

int x=23;

printf("%x", x);  // 以16進位制格式輸出,輸出17;

printf("%o", x);  // 以8進位制格式輸出,輸出2。

3樓:夏天肥魚

1、八進位制以0開頭,後面跟數字0~7。如:045(8進位制數45)如果使用printf函式輸出時,可以通過格式數明符來控制輸出格式。

例如:int x=23;printf("%x", x);  // 以16進位制格式輸出,輸出17;printf("%o", x);  // 以8進位制格式輸出,輸出2。

2、十六進位制以0x開頭,後面跟數字0~9或字母a~f(小寫也可以)。如:0x2d(16進位制數2d)。

c語言是國際上廣泛流行的、很有發展前途的計算機高階語言。它適合作為系統描述語言,即可用來編寫系統軟體,也可用來編寫應用軟體。早期的作業系統等系統軟體主要是用組合語言編寫的(包括 unix作業系統在內)。

4樓:裸木空

如果使用printf函式輸出時,可以通過格式數明符來控制輸出格式。

舉例如下:

intx=23;

printf("%x",x);//以16進位制格式輸出,輸出17printf("%o",x);//以8進位制格式輸出,輸出2716進位制0x234這樣的(如24就是0x018,凡是以0x或0x開頭的數字序列)

8進位制01111這樣的(凡是以0開頭的數字序列)十六進位制和八進位制的賦值輸出技巧

一 賦值

int dex = 100;// 預設十進位制int oct = 0144;// 八進位制,以0開始int hex = 0x64;// 十六進位制,以0x開始二 輸出

void show(int x)

例如:int num = 100;

show(num);

輸出結果:

dec = 100; octal = 144; hex = 64dec = 100; octal = 0144; hex = 0x64

5樓:匿名使用者

資料以八進位制0或十六進位制0x開頭

%o 八進位制

%x 十六進位制

6樓:

這樣吧int a=0xff; //十六進位制

int b=010; //八進位制

7樓:匿名使用者

16進位制0x234這樣的(如24就是0x018,凡是以0x或0x開頭的數字序列)

8進位制01111這樣的(凡是以0開頭的數字序列)

8樓:匿名使用者

它和十進位制挺相似,我的理解就是,幾進位制就是到了幾,然後進一位。

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

9樓:匿名使用者

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格式符,用於變數地址的輸出。

10樓:匿名使用者

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 字串

%% "%"

11樓:匿名使用者

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

12樓:匿名使用者

這個........

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

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

13樓:匿名使用者

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

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

14樓:

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

15樓:

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

16樓:匿名使用者

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

c語言中輸出格式說明的問題,比如%d為十進位制,%o為八進位制,%x為16進位制。 那麼請問二進位制怎麼表示啊

17樓:匿名使用者

這些表示式使用了c++的iomanip庫了~這是c++

2進位制轉換沒必要,應為計算機裡流通的都是二進位制,不管什麼**要在計算機裡運算都是要轉化成2進位制的,這個不用我們特意去做

18樓:

抓住最根本的:c/c++沒有提供二進位制形式的資料輸入、輸出功能!

19樓:匿名使用者

用itoa把十進位制轉成二進位制的字串,輸出這個字串就行了

20樓:匿名使用者

沒有二進位制的輸出格式

21樓:匿名使用者

c裡面沒有專一二進位制輸出形式

八進位制和十六進位制有什麼用,八進位制和十六進位制的意義是什麼

就是為了簡潔。例如一個16位的二進位制數1010010111001011,無論寫起來還是讀起來,很費事兒,還容易出錯,寫成十六進位制數a5cd,就方便多了,也不容易出錯。八進位制,octal,縮寫oct或o,一種以8為基數的計數法,採用0,1,2,3,4,5,6,7八個數字,逢八進1。一些程式語言中...

八進位制,十進位制,十六進位制化為二進位制

書上的短除方法想必你已經會了,介紹給你一種快方法 以十進位制轉二進位制為例 回 比如十進位制是22,又根答據二進位制的位權得到 16 8 4 2 1是可以拼湊成22的數 因為它們都比22小 那好,用22 16 6,所以二進位制先消耗掉一個16 在第5位上 剩下的是6,根據位權可以得到 可以組成6的是...

八進位制和十六進位制都不是人們習慣的進位制數,它們是什麼條件下創造出來的?在哪方面比較有需要用到它們

八進位制和十六進位制都是在二進 制的基礎上創造出來的,而二進位制是在人們研究電腦時創造出來的。二進位制在電腦研究中有獨到的地方,首先,二進位制使得運算及其簡單,只有0和1兩個數,運算也僅限於0與1的加減 其次,重要的一點是人們發現用電路實現兩種狀態 通或斷 高或低電平等非常簡單,而且不容易出錯。於是...