在c語言種,乙個數字預設就是十進位制的,表示乙個十進位制數字不需要任何特殊的格式。1).二進位制但是,表示乙個二進位制、八進位制或者十六進製制數字就不一樣了,為了和十進位制數字區分開來,必須採用某種特殊的寫法,具體來說,就是在數字前面加上特定的字元,也就是加字首。
二進位制由 0 和 1 兩個數字組成,使用時必須以0b或0b(不區分大小寫)開頭,例如:
//正確的二進位制
int a=ob110 //換算成十進位制為6
int b=
-0b1101001 //換算成十進位制為105
int c=ob10001 //換算成十進位制為17
//錯誤二進位制
int a=
110//沒有字首,相當於十進位制
int b=ob510 //5不是有效的二進位制數
注意:並不是所有的編譯器都支援二進位制數字,只有一部分編譯器支援,並且跟編譯器的版本有關係
2).八進位制
八進位制由 0~7 八個數字組成,使用時必須以0開頭(注意是數字 0,不是字母 o)
//正確的八進位制數
int a =
023;
//換算成十進位制為 19
int b =
-0521
;//換算成十進位制為 -337
int c =
01787
;//換算成十進位制為 959
//錯誤的八進位制
int m =
256;
//無字首 0,相當於十進位制
int n =
03a2;
//a不是有效的八進位制數字
3).十六進製制
十六進製制由數字 0~9、字母 a~f 或 a~f(不區分大小寫)組成,使用時必須以0x或0x(不區分大小寫)開頭
//合法的十六進製制
int a =
0x2a
;//換算成十進位制為 42
int b =
-0xa0
;//換算成十進位制為 -160
int c =
0xffff
;//換算成十進位制為 65535
//非法的十六進製制
int m =
5a;//沒有字首 0x,是乙個無效數字
int n =
0x3h;
//h不是有效的十六進製制數字
4).十進位制
十進位制由 0~9 十個數字組成,沒有任何字首,和我們平時的書寫格式一樣格式控制符
說明%c
輸出乙個單一的字元
%hd、%d、%ld
以十進位制、有符號的形式輸出 short、int、long 型別的整數
%hu、%u、%lu
以十進位制、無符號的形式輸出 short、int、long 型別的整數
%ho、%o、%lo
以八進位制、不帶字首、無符號的形式輸出 short、int、long 型別的整數
%#ho、%#o、%#lo
以八進位制、帶字首、無符號的形式輸出 short、int、long 型別的整數
%hx、%x、%lx、%hx、%x、%lx
以十六進製制、不帶字首、無符號的形式輸出 short、int、long 型別的整數。如果 x 小寫,那麼輸出的十六進製制數字也小寫;如果 x 大寫,那麼輸出的十六進製制數字也大寫。
%#hx、%#x、%#lx、%#hx、%#x、%#lx
以十六進製制、帶字首、無符號的形式輸出 short、int、long 型別的整數。如果 x 小寫,那麼輸出的十六進製制數字和字首都小寫;如果 x 大寫,那麼輸出的十六進製制數字和字首都大寫。
%f、%lf
以十進位制的形式輸出 float、double 型別的小數
%e、%le、%e、%le
以指數的形式輸出 float、double 型別的小數。如果 e 小寫,那麼輸出結果中的 e 也小寫;如果 e 大寫,那麼輸出結果中的 e 也大寫。
%g、%lg、%g、%lg
以十進位制和指數中較短的形式輸出 float、double 型別的小數,並且小數部分的最後不會新增多餘的 0。如果 g 小寫,那麼當以指數形式輸出時 e 也小寫;如果 g 大寫,那麼當以指數形式輸出時 e 也大寫。
%s輸出乙個字串
#include
intmain()
執行結果:
a=126, b=2713, c=7325603
a=86, b=1483, c=1944451
a=56, b=5cb, c=1dab83
a=56, b=5cb, c=1dab83
區分不同進製數字的乙個簡單辦法就是,在輸出時帶上特定的字首
#include
intmain()
注意:十進位制數字沒有字首,所以不用加# C語言知識彙總 21 C語言的加減乘除及取餘
加減乘除是常見的數 算,c語言當然支援,不過,c語言中的運算符號與數學中的略有不同,請見下表。加法減法 乘法除法 求餘數 取餘 數學 無 c語言 c語言中的加號 減號與數學中的一樣,乘號 除號不同 另外c語言還多了乙個求餘數的運算子,就是 下面的 演示了如何在c語言中進行加減乘除運算 include...
C語言中的各種進製轉換
一 正數 1.十 二 2.二 十 3.十 八 4.八 十 6.十六 十 二 負數 正文 一 正數 在高速發展的現代社會,計算機浩浩蕩蕩地成為了人們生活中不可缺少的一部分,幫助人們解決通訊,聯絡,互動等各方面的問題。今天我就給大家講講與計算機有關的 進製轉換 問題。我們以 25.625 十 為例講解一...
C語言中的進製轉換 itoa sprintf
在c語言中經常會遇到將二進位制 八進位制 十進位制 十六進製制等之間的相互轉換,比如 在將八進位制以二進位制的形式列印出來等。可以用c語言 stdlib.h 中的itoa函式來做這件事情。char itoa int value,char string,int radix 例如 int i char ...