⑴ \X在c語言里表示什麼意思
x是轉義字元,告訴編譯器需要用特殊的方式進行處理。x表示後面的字元是十六進制數, 表示後面的字元是八進制數。例如十進制的17用十六進製表示就是『x11』,用八進製表示就是『 21』。
所有的ASCII碼都可以用「」加數字(一般是8進制數字)來表示。而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字元,如 , , 等,就稱為轉義字元,因為後面的字元,都不是本來的ASCII字元意思了。
(1)61在c語言中是什麼意思擴展閱讀
在C語言中,一個字元除了可以用它的實體(也就是真正的字元)表示,還可以用編碼值表示。轉義字元以或者x開頭,以開頭表示後跟八進制形式的編碼值,以x開頭表示後跟十六進制形式的編碼值。對於轉義字元來說,只能使用八進制或者十六進制。
轉義字元既可以用於單個字元,也可以用於字元串,並且一個字元串中可以同時使用八進制形式和十六進制形式。
字元 1、2、3、a、b、c 對應的ASCII碼的八進制形式分別是61、62、63、141、142、143,十六進制形式分別是31、32、33、61、62、63。
⑵ c語言中十六進制數判斷問題!!!
字元數據在機器里存的方式是一樣的,進制只是表示方式。比如輸入了一個字元'a',那麼它在機器裡面就是01100001,因為機器都是2進制存的。那麼它的十進製表示就是97,十六進制就是61。c語言判斷一個數字是多少進制是通過開頭的字元判斷的,0開頭的就是8進制,如010就是十進制里的8,十六進制是以0x開頭的,如0x61
⑶ c語言中看到過%6d與%61d,這兩個一樣嗎
結果是一樣的!6和61就是數據顯示占的位置
⑷ C語言中的二進制、十進制、十六進制各是什麼意思
計算機中常用的數的進制主要有:二進制、八進制、十六進制,學習計算機要對其有所了解。
2進制,用兩個阿拉伯數字:0、1;
8進制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;
10進制,用十個阿拉伯數字:0到9;
16進制就是逢16進1,但我們只有0~9這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。
以下簡介各種進制之間的轉換方法:
一、二進制轉換十進制
例:二進制 「1101100」
1101100 ←二進制數
6543210 ←排位方法
例如二進制換算十進制的演算法:
1*26 + 1*25 + 0*24 + 1*23 + 1* 22 + 0*21 + 0*20
↑ ↑
說明:2代表進制,後面的數是次方(從右往左數,以0開始)
=64+32+0+8+4+0+0
=108
二、二進制換算八進制
例:二進制的「10110111011」
換八進制時,從右到左,三位一組,不夠補0,即成了:
010 110 111 011
然後每組中的3個數分別對應4、2、1的狀態,然後將為狀態為1的相加,如:
010 = 2
110 = 4+2 = 6
111 = 4+2+1 = 7
011 = 2+1 = 3
結果為:2673
三、二進制轉換十六進制
十六進制換二進制的方法也類似,只要每組4位,分別對應8、4、2、1就行了,如分解為:
0101 1011 1011
運算為:
0101 = 4+1 = 5
1011 = 8+2+1 = 11(由於10為A,所以11即B)
1011 = 8+2+1 = 11(由於10為A,所以11即B)
結果為:5BB
四、二進制數轉換為十進制數
二進制數第0位的權值是2的0次方,第1位的權值是2的1次方……
所以,設有一個二進制數:0110 0100,轉換為10進制為:
計算: 0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
五、八進制數轉換為十進制數
八進制就是逢8進1。
八進制數採用 0~7這八數來表達一個數。
八進制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……
所以,設有一個八進制數:1507,轉換為十進制為:
計算: 7 * 80 + 0 * 81 + 5 * 82 + 1 * 83 = 839
結果是,八進制數 1507 轉換成十進制數為 839
六、十六進制轉換十進制
例:2AF5換算成10進制
直接計算就是: 5 * 160 + F * 161 + A * 162 + 2 * 163 = 10997
(別忘了,在上面的計算中,A表示10,而F表示15)、
現在可以看出,所有進制換算成10進制,關鍵在於各自的權值不同。
假設有人問你,十進數 1234 為什麼是 一千二百三十四?你盡可以給他這么一個算式: 1234 = 1 * 103 + 2 * 102 + 3 * 101 + 4 * 100
十進制與二進制轉換之相互演算法
十進制轉二進制:
用2輾轉相除至結果為1
將余數和最後的1從下向上倒序寫 就是結果
例如302
302/2 = 151 餘0
151/2 = 75 餘1
75/2 = 37 餘1
37/2 = 18 餘1
18/2 = 9 餘0
9/2 = 4 餘1
4/2 = 2 餘0
2/2 = 1 餘0
故二進制為100101110
二進制轉十進制
從最後一位開始算,依次列為第0、1、2...位
第n位的數(0或1)乘以2的n次方
得到的結果相加就是答案
例如:01101011.轉十進制:
第0位:1乘2的0次方=1
1乘2的1次方=2
0乘2的2次方=0
1乘2的3次方=8
0乘2的4次方=0
1乘2的5次方=32
1乘2的6次方=64
0乘2的7次方=0
然後:1+2+0
+8+0+32+64+0=107.
二進制01101011=十進制107.
一、二進制數轉換成十進制數
由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。
二、十進制數轉換為二進制數
十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換後,再加以合並。
1. 十進制整數轉換為二進制整數
十進制整數轉換為二進制整數採用"除2取余,逆序排列"法。具體做法是:用2去除十進制整數,可以得到一個商和余數;再用2去除商,又會得到一個商和余數,如此進行,直到商為零時為止,然後把先得到的余數作為二進制數的低位有效位,後得到的余數作為二進制數的高位有效位,依次排列起來。
2.十進制小數轉換為二進制小數
十進制小數轉換成二進制小數採用"乘2取整,順序排列"法。具體做法是:用2乘十進制小數,可以得到積,將積的整數部分取出,再用2乘餘下的小數部分,又得到一個積,再將積的整數部分取出,如此進行,直到積中的小數部分為零,或者達到所要求的精度為止。
然後把取出的整數部分按順序排列起來,先取的整數作為二進制小數的高位有效位,後取的整數作為低位有效位。
1.二進制與十進制的轉換
(1)二進制轉十進制<BR>方法:"按權展開求和"
例:
(1011.01)2 =(1×23+0×22+1×21+1×20+0×2-1+1×2-2)10
=(8+0+2+1+0+0.25)10
=(11.25)10
(2)十進制轉二進制
· 十進制整數轉二進制數:"除以2取余,逆序輸出"
例: (89)10=(1011001)2
2 89
2 44 …… 1
2 22 …… 0
2 11 …… 0
2 5 …… 1
2 2 …… 1
2 1 …… 0
0 …… 1
· 十進制小數轉二進制數:"乘以2取整,順序輸出"
例:
(0.625)10= (0.101)2
0.625
X 2
1.25
X 2
0.5
X 2
1.0
2.八進制與二進制的轉換
例:將八進制的37.416轉換成二進制數:
37 . 4 1 6
011 111 .100 001 110
即:(37.416)8 =(11111.10000111)2
例:將二進制的10110.0011 轉換成八進制:
0 1 0 1 1 0 . 0 0 1 1 0 0
2 6 . 1 4
即:(10110.011)2 =(26.14)8
3.十六進制與二進制的轉換<BR>例:將十六進制數5DF.9 轉換成二進制:
5 D F . 9
0101 1101 1111.1001
即:(5DF.9)16 =(10111011111.1001)2
例:將二進制數1100001.111 轉換成十六進制:
0110 0001 . 1110
6 1 . E
即:(1100001.111)2 =(61.E)16
⑸ C語言中\a是什麼意思,有什麼作用
c語言中的轉義字元:a 響鈴符
通常使用轉義字元表示ASCII碼字元集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號('),用於表示字元串常量的雙撇號(")和反斜杠()等。
實例:
通過puts可以輸出字元串,例如:
⑹ C語言問題
先說一下 fun函數是一個void型的 也就是說沒有返回值 函數里不能有return語句 你這個程序 應該不能運行成功
按你程序的意思 應該把void 改成int
說一下流程
fun參數是一個char型數組
s是首地址 *s就是首地址的指針 也就相當於第一個元素 s[0]
while(*s<='9'&&*s>='0')的意思是*s這個字元在0 到 9 之間
第一次運行時候
*s= s[0]=『6』是在0到9之間的字元,執行 n=10*n+*s-'0'; n=10*0 +『6』-『0』=6
s++; 數組元素是存在一個連續的地址裡面,s+1就是首地址+1,也就是第二個元素的存儲地址
第二次運行
此時s是第二個元素地址*s= s[1]=『1』是在0到9之間的字元,執行 n=10*n+*s-'0'; n=10*6 +『1』-『0』=61
s++;變為第三個元素地址
第三次運行
此時*s=s[2]='*'不執行while不是0到9之間的字元,不執行
return n;也就是61
結果61
⑺ C語言中的問題#!
在C程序中使用轉義字元\ddd或者\xhh可以方便靈活地表示任意字元。\ddd為斜杠後面跟三位八進制數,該三位八進制數為對應字元的八進制ASCII碼值。\x後面跟兩位十六進制數,該兩位十六進制數為對應字元的十六進制ASCII碼值。
簡單的說,\ddd表示的是ASCII碼值為ddd(八進制)的字元,\xhh表示的是ASCII碼值為hh(十六進制)的字元。
例如:
\101表示的就是ASCII碼值為101(八進制)的字元,是大寫字母A
\x61表示的就是ASCII碼值為61(十六進制)的字元,是小寫字母a
⑻ c語言b=0×61中0×61是什麼意思
0x開頭的數字表示這個數是十六進制的,0開頭表示八進制
⑼ C++中0x61和\x61有什麼區別
0x61是十六進制操作數值
\x61以字元串的形式表示一個十六進制的值,只能在字元串中用,或前後有''符號,而0x61就不能放在字元串中表示一個值。
⑽ c語言中u=%61d n=%91d什麼意思
printf("u=%61d n=%91d",u,n); %6ld的意思是輸出6位long型的數 不足的左對齊 如:123 就是為
3個空格123; n=%91d也是一樣的