① c語言八進制詳解
八進制是以8為基數的一種計數系統。在八進制系統中,你是這樣計數的:O,1,2,3,4,5,6,7,10,ll,12,13,等等。下面比較了八進制(第二行)和十進制(第一行)中的計數過程: O,l,2,3,4,5,6,7,8,9,10.11,12,13,14,15,16 0,1,2.3,4,5,6,7,10,11,12,13,14,15,16,17,20 注意,在八進制中,在數到7後,就要增加一個八進制位,第二個八進制位顯然就是8?(等於十進制的8)。如果你數到第三個八進制位(八進制的100),那將是8?或十進制的64,因此,八進制的100等於十進制的64。 現在,八進制已經不象以前那樣常用了,這主要是因為現在的計算機使用的是8,16,32或64位處理器,最適合它們的計數系統是二進制或十六進制(見20.24中有關十六進制計數系統的介紹) C語言支持八進制字元集,這種字元要用反斜杠字元來標識。例如,在C程序中,下面的語句並不少見: if(x=='\007')break; 這里的"\007"恰好就是ASCII值為7的字元;該語句用來檢查終端鳴笛字元。另一個常見的八進制數是"\033",即Escape字元(在程序中它通常表示為"\033")。然而,八進制數現在已經很少見了——它們被十六進制數代替了。
② 在c語言中8進制的符號是什麼呀
C語言中,
以0開頭的是八進制數,
以0x開頭的是十六進制數。
③ C語言中八進制和16進制怎麼表示
一、八進制由 0~7 八個數字組成,使用時必須以0開頭(注意是數字 0,不是字母 o),例如:
//合法的八進制數
int a = 015; //換算成十進制為 13
int b = -0101; //換算成十進制為 -65
int c = 0177777; //換算成十進制為 65535
//非法的八進制
int m = 256; //無前綴 0,相當於十進制
int n = 03A2; //A不是有效的八進制數字
二、十六進制由數字 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不是有效的十六進制數字
二進制化為八進制
整數部份從最低有效位開始,以3位一組,最高有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的整數。
小數部份從最高有效位開始,以3位一組,最低有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的小數。
例:(11001111.01111)2 = (011 001 111.011 110)2 = (317.36)8
以上內容參考:網路-八進制
④ c語言中b代表二進制,q代表八進制,d代表十進制,那麼什麼字元代表十六進制呢
H: hexadecimal 十六進制的
其他進制的代表字元:
B: binary 二進制的
Q: quaternary 四進制的
D: decimal 十進制的
O: octal 八進制的.
(4)c語言八進制符號擴展閱讀:
表示方式
C語言、C++、Shell、Python、Java語言及其他相近的語言使用字首「0x」,例如「0x5A3」。開頭的「0」令解析器更易辨認數,而「x」則代表十六進制(就如「O」代表八進制)。在「0x」中的「x」可以大寫或小寫。
對於字元量C語言中則以x+兩位十六進制數的方式表示,如xFF,同時也以H: hexadecimal 代表十六進制的。
⑤ C語言中怎樣區分八進制,十進制,二進制
在c語言里,整數有三種表示形式:十進制,八進制,十六進制。
其中以數字0開頭,由0~7組成的數是八進制。以0x或0x開頭,由0~9,a~f或a~f
組成是十六進制。除表示正負的符號外,以1~9開頭,由0~9組成是十進制。
1.十進制:除表示正負的符號外,以1~9開頭,由0~9組成。如,128,+234,-278。
2,八進制:以0開頭,由0~7組成的數。如,0126,050000.
3,十六進制:以0x或0x開頭,由0~9,a~f或a~f
組成。如,0x12a,0x5a000.
⑥ c語言中十六進制和八進制的格式
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。
(6)c語言八進制符號擴展閱讀:
C語言是國際上廣泛流行的、很有發展前途的計算機高級語言。它適合作為系統描述語言,即可用來編寫系統軟體,也可用來編寫應用軟體。
早期的操作系統等系統軟體主要是用匯編語言編寫的(包括
UNIX操作系統在內)。由於匯編語言依賴於計算機硬體,程序的可讀性和可移植性都比較差。為了提高可讀性和可移植性,最好改用高級語言,但一般的高級語言難以實現匯編語言的某些功能(匯編語言可以直接對硬體進行操作),例如:對內存地址的操作、位操作等)。人們設想能否找到一種既具有一般高級語言特性,又具有低級語言特性的語言,集它們的優點於一身。於是,C語言就在這種情況下應運而生了。
⑦ 如何輸出帶符號的八進制C語言
輸出8進制
默認是沒有符號的
按照無符號數,
符號位同樣會在8進製表示中輸出
要想輸出帶符號的8進制,
那麼就得自己對負數做處理。
void oct_print(int v)
{
if(v<0)
{
putchar('-');//輸出負號並轉為絕對值。
v=-v;
}
printf("%o", v);
}
⑧ c語言中-1的八進制值是多少
c語言中-1的八進制值是37777777777
先轉化為二進制1111 1111 1111 1111,然後二進制轉八進制,從右邊起,每三位一組,每組對應一個八進制數,如,以一位元組為例:
10101011(B) = 10 101 011 = 253(O)
所以,32個1對應的八進制數就是37777777777
(8)c語言八進制符號擴展閱讀:
二進制化為八進制:
整數部份從最低有效位開始,以3位一組,最高有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的整數。
小數部份從最高有效位開始,以3位一組,最低有效位不足3位時以0補齊,每一組均可轉換成一個八進制的值,轉換完畢就是八進制的小數。
⑨ C語言中 怎樣區分八進制 十進制 二進制
編程語言通常規定是以0開頭的數字是八進制數,以0x開頭的數字是十六進制數,其餘的就是十進制數,至於你說的「十進制是D表示 二進制是B 十六進制是H」在編寫程序時是不能用的,那隻是為了方便,書寫時(不是在計算機上編程時)用到的(只對於C語言編程,匯編語言編程時,是寫上的),你的程序 int x=011中,x是用八進製表示的一個數字,他是9.後面的printf("%d\n",++x);是以10進制形式列印結果(%d的作用),所以程序運行的結果是9.
⑩ C語言中是用"OX"開頭表示是十六進制數,那十進制,二進制,八進制呢
1,C語言沒有直接輸出二進制的方法。
2,八進制在輸出的時候以0開頭,例如:0123十進制的83
3,十進制正常輸出,無特別表示。
4,十六進制在輸出的時候以0X或者0x開頭,例如0x123 十進制的291。
(10)c語言八進制符號擴展閱讀:
進制轉換是人們利用符號來計數的方法。進制轉換由一組數碼符號和兩個基本因素「基數」與「位權」構成。
基數是指,進位計數制中所採用的數碼(數制中用來表示「量」的符號)的個數。
位權是指,進位制中每一固定位置對應的單位值。
16進制就是逢16進1,只有0~9這十個數字,用A,B,C,D,E,F這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
十進制就是逢10進1。
八進制就是逢8進1,八進制數採用 0~7這八數來表達一個數。
二進制就是逢2進1。
K進制就是逢K進1。
參考資料來源:網路-進制轉換