回覆列表
  • 1 # 使用者5737852023227

    表示十六進位制數用的是0xff第一個是數字0,不是字母oC語言本身支援的三種數字的表示是:1. 十進位制。比如20、457; 2. 十六進位制,以0x開頭。比如0x7a、0X7A; 3. 八進位制,以0開頭。比如05、0237所以C語言沒有二進位制輸入,最多可用函式去實現。八進位制數的表達方法C/C++規定,一個數如果要指明它採用八進位制,必須在它前面加上一個0(數字0),如:123是十進位制,但0123則表示採用八進位制。這就是八進位制數在C、C++中的表達方法。C和C++都沒有提供二進位制數的表達方法現在,對於同樣一個數,比如是100,在程式碼中可以用平常的10進製表達,例如在變數初始化時:int a = 100;也可以這樣寫:int a = 0144; //0144是八進位制的100;千萬記住,用八進位制表達時,不能少了最前的那個0。否則計算機會通通當成10進位制。不過,有一個地方使用八進位制數時,卻可以不使用加0,那就是用於表達字元的“轉義符”表達法。八進位制數在轉義符中的使用學過用一個轉義符"/"加上一個特殊字母來表示某個字元的方法,如:"\n"表示換行(line),而"\t"表示Tab字元,"\""則表示單引號。今天又學習了另一種使用轉義符的方法:轉義符"\"後面接一個八進位制數,用於表示ASCII碼等於該值的字元。比如,查一下ASCII碼錶,找到問號字元(?)的ASCII值是63,那麼可以把它轉換為八進值:77,然後用 "\77"來表示"?"。由於是八進位制,所以本應寫成 "\077",但因為C/C++規定不允許使用斜槓加10進位制數來表示字元,所以這裡的0可以不寫。

  • 2 # 何以笙丶丶

    OxabcOx11Ox19這三個不合法

    1、Ox沒有Ox開頭的定義,屬語法錯誤

    2、0x表示16進位制,比如0x**,其中一個*表示一個16進位制數,佔4bit,如0101,取值範圍為0000-1111,即0-f;一般0x**佔8bit,表示一個位元組。這裡如果是0xabc,沒有錯誤。

  • 中秋節和大豐收的關聯?
  • 扁桃體炎口腔潰瘍需要吃什麼藥?