本文目錄一覽:
- 1、/ddd表示什麼?
- 2、c語言 \ddd 數字越界
- 3、C語言中’\ddd’和’\xhh’分別是什麼意思?舉例說明
- 4、c語言中的轉義字元\ddd :1-3位進位數ddd對應的符號是什麼意思呢?
- 5、C語言轉義字元\ddd和\xhh什麼意思啊?
- 6、c語言問題,請高手幫一下忙,謝了! 1、\ddd有什麼意義 2、65是不是字元型常量 3、\007的十進位值怎樣計算
/ddd表示什麼?
\ddd 表示1~3位八進位數所代表的字元
廣義地講,C語言字符集中的任何一個字元均可用轉義字元來表示,ddd為八進位的ASCII代碼。如\101表示字母”A” ,\102表示字母”B”,
\134表示反斜線,\XOA表示換行等 \」後的八進位數有無前綴「0」是一樣的。
例:聲明字元常量「A」,你可以有以下的形式:
char ch=65;
char ch=’A’;
char ch=’\101′;
char ch=’\0101′;
c語言 \ddd 數字越界
0014最前面0表示很8進位,014表示表示12,大於8進位了,所以輸出是4
C語言中’\ddd’和’\xhh’分別是什麼意思?舉例說明
\ddd中,每一個d表示了一個0~7的數字,整個\ddd表示一個用八進位數表示的ASCII字元。
\xhh,每一個h表示了一個0~9或A~F或a~f的16進位字元,整個\xhh表示一個用16進位數表示的ASCII字元。
在計算機內部,數字均以二進位形式表示和存放,用戶輸入的普通十進位數字都要被計算機轉換成二進位才能在計算機內部存儲,同樣計算機的運算結果也為二進位,一般要將其轉換成十進位數再輸出給用戶閱讀,這種轉換通常由計算機自動實現。
擴展資料
二進位與八進位、十六進位數之間的相互轉換
1、二進位轉八進位
從右往左每三位一組轉換成十進位數,將所得數據組合就是對應的八進位數
例:(010 110 111)2=(267)8
2、二進位轉十六進位
從右往左每四位一組轉換成十進位數,將所得數據組合就是對應的十六進位數
例:(0101 1011)2=(5B)16
3、十六進位轉化二進位
每一位數字轉換為四位二進位數字
例:(E3)16=(1110 0011)2
c語言中的轉義字元\ddd :1-3位進位數ddd對應的符號是什麼意思呢?
\ddd中 ddd對應 1~3位八進位數。
\xhh 中 hh 對應 1-2位16進位數。
舉例說。
\101 ,101是8進位數,轉換為10進位是65,那麼\101 對應的字元就是數字65對應的字元(請參考assic表),就是A。同理 \102 對應的字元就是B.
C語言轉義字元\ddd和\xhh什麼意思啊?
反斜杠(\)開頭是叫轉義序列(Escape Sequence),
\ddd我覺得有問題,應該是\ooo才對,
因為反斜杠後直接加數字表示的是八進位(octal), 而不是十進位(decimal),
比如 char ch = ‘\101’;
等價於 char ch = 0101; (以0開頭的表示八進位)
\xhh, 裡面是x是固定的,表示十六進位(hexadecimal),h也表示十六進位
舉例,char ch = ‘\x41’; 就是用十六進位來表示,它與前面的’\101’是等價的。
可用如下代碼證明它們等價
#include stdio.h
int main()
{
printf(“%c,%c,%c,%c”, 0101, ‘\101’, ‘\x41’, ‘A’);
return 0;
}
c語言問題,請高手幫一下忙,謝了! 1、\ddd有什麼意義 2、65是不是字元型常量 3、\007的十進位值怎樣計算
1.帶有反斜杠的字元是轉義字元,即將「\」後面的字元轉換成另外的意義。「\ddd」是代表1到3位八進位數所代表的字元,比如「\101」代表ASCII碼(八進位數)為101(十進位為65)的字元’A’。其他的同理轉換,注意,三個d都是數字,都可以為0。
補充一下,「\xdd」代表1到2位十六進位數所代表的字元,x必須就是x,不能是字元,剩下的兩個d都是可為0的數字,如「\x41」代表ASCII碼(十六進位數)為41(十進位為65)的字元’A’。
不過要注意,「\0」或「\000」是代表ASCII碼為0的控制字元,即空操作字元。
2. 65是個數,一般認為是十進位,若你把它賦給一個字元型變數,如
char a=65;
則此時字元型變數「a」就代表字元’A’(ASCII碼對應過來的)
3. 八進位轉換為十進位:如上面提到的「\101」中的八進位數101,轉換為十進位就是:
1*(8^2)+0*(8^1)+1*(8^0)=65
即「百位」數字乘以8的2次冪,加上「十位」數字乘以8的1次冪,加上「個位」數字乘以8的0次冪,便得到對應的十進位數。若還有「千位」、「萬位」則依此類推了。
你這裡的「\007」中的八進位數007即就代表十進位的7了。注意,八進位數里的數字只有0~7這八個數字,不能出現數字8,否則就不是八進位數了。
同理,十六進位轉換為十進位:如上面提到的「\x41」中的十六進位數41,轉換為十進位就是:
4*(16^1)+1*(16^0)=65
如遇到十六進位中獨有的A、B、C、D、E、F,轉換的時候把它們依次換成10、11、12、13、14、15就可以了,如十六進位數1C3F:
1*(16^3)+12*(16^2)+3*(16^1)+15*(16^0)=7456
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/279024.html