1樓:
應該不行吧,char是字元型別,而字元型別中0~31應該是操作符,也許不可以賦值吧
試一下改為:
int a = 6, b; b = a<<2;
2樓:匿名使用者
char a = (char)6,b;
b = ((int)a)<<2;
char a = 6, b; b = a<<2 是什麼意思,能不能把詳細步驟寫一寫,
3樓:匿名使用者
《為移位運算子
char a = 6, b a為6,變成二進位制為110a<<2 為將a的二進位制制向左移2位,後面補0 ,變為11000=24
所以b=24
4樓:
看來你的c有待加強,《是位移運算子,是左移物件的作用。用你的例子來說a=6的話在計算機中二進位制數是 a:00000110,左移的話就變成了00011000,即使把整體後面加了兩個零,然後賦值給了b,結果就是b=24(把00011000化成十進位制即可),另外給樓主講下,與之對應的還有右移運算子》,作用正好相反。
5樓:匿名使用者
char a = 6, b; //這樣寫是不合法的,應該是int b, a = 6;
b = a << 2; //可以寫成b = (a << 2); 即a 左移兩位,把值賦給b,a 的值不變
附:c語言運算子及其優先順序彙總表口訣
圓下箭頭一頓號
非凡增減富強針地長
三乘除,四加減,五移位
千萬別把魚忘記,它在盛飯的廚子裡
小燈大燈燈燈不等
爸餵魚,舅疑惑,裸雞也疑惑
十三姨,十四父,十五逗,兜到低
char a=6,b; b=a<<2; 運算結果是什麼啊?
6樓:匿名使用者
<< 按位左移2位,即乘以4(在表示範圍內,可以這麼理解,因為一直這樣移動就會超出表示範圍,與實際結果會有出入的)
6的二進位制表示 110,左移兩位變成11000,即高位左移,後面補0,這個二進位制就變成了24
char a=6,b; b=a<<2; 那b最後等於多少?
7樓:匿名使用者
a=6;
a是字元型,二進位制8位資料,a存放二進位制數0000011000000110b<<1=00001100b00000110b<<2=00011000b=18h=24d因此b最後等於24
c=a^b<<2在c語言中什麼意思?如果a=3,b=6
8樓:匿名使用者
^按位異或運算子,相應位相同,則結果為0,否則為1《左移運算子,優先順序高於^
c=a^b<<2=a^(b<<2)
b=6,b<<2=24 (左移一位相當於乘2)a=3=00000011 b
b<<2=24=00011000 b
^=----------------
00011011 b = 27 (d)
9樓:匿名使用者
a和b先做異或運算,然後把結果左移2位。
c語言a<<2的意思?若a=2,b=a<<2,那麼輸出b為多少?
10樓:鬱草小沙彌
《是左移號,a為2的話,其轉為二進位制數為00000010, a<<2,a左移兩位,右端補零,變為00001000,
即8,賦給b,a本身不變.
11樓:匿名使用者
8,表示2往左移2位。
char a,b; a='a'+'5'-'3'; b=a+'6'-'2';
12樓:洛雨曦
a的ascii碼為65,b的為66依次類推a的ascii碼為97,b的為98依次類推0的ascii碼為48,1的為49依次類推字元型資料可以與整型資料進行算術運算,進行時是用該字元的ascii碼進行的
所以a='a'+'5'-'3' 所以a=65+53-51即67,它對應的是c,所以a='c'
b=a+'6'-'2' 所以b=67+54-50即71(切記a剛才已經變為67),b='g'
13樓:金色潛鳥
5和3的ascii編碼差2,'5'-'3' 得2。'a' +2 就是比 a 的編碼大2的碼 是 'c'。printf("%c",a); 打出 c.
b = a+'6'-'2' = 'c' + '6' - '2'. 6 和 2 編碼差 4,比 'c' 大 4 的 字元 是 'g'.printf("%c",b);
打出 g
14樓:匿名使用者
每個字元都對應乙個asicc碼,去書的附錄里查一下'a','5','3'的碼值,掰手指頭算一下就行了
如果輸出的是char就在查一下碼值對應的字元,就是結果了
15樓:匿名使用者
結果,a值為c的ascii碼,即'c'
b值為g的ascii碼,即'g'
char c=a^b<<2 a=1,b=2. c=?
16樓:張卓賢
a=1 其二進位製碼為 00000001b=2 其二進位制嗎為 00000010
^是異或運算(二進位製碼的)二進位製碼相同為0 不同為1<<是二進位製碼的左移運算 就是將二進位製碼的1向左移動n位《運算的優先順序比^高
所以 c=a^b<<2
就是說 先把b的二進位製碼(00000010)左移兩位 00001000
然後與a(00000001)進行異或運算 得 00001001這個二進位製碼轉換為10進製 就是9
在c語言中,設有char a='c' ,b='a' ;執行語句printf("%d,
17樓:聽不清啊
設有char a='c' ,b='a' ;執行語句printf("%d,%d",b,a-b);後,輸出結果是
a、65,2
因為在c中,char 等同於乙個8位有符號整數,只是內作「字元」解讀。容所以,char a='c' ,b='a' ;等同於char a=67 ,b=65; 在以%d格式輸出時的值就是 65,2
18樓:匿名使用者
選擇a,這個就是把對應的字母轉換成ascii碼值進行運算
C語言中,如果char a則能使表示式0a2為真的a取值有幾個
無論a等於幾,表示式 0 char a 的範圍是 1 byte,可描述 0x00 到 0xff,共 0xff 1 個值,即 10進製 256 個值。如果 是 問 邏輯表示式 0 無恥的改一下答案 char的取值範圍也不一定就是0 255,不同的機器不同的作業系統都可能不一樣.maxbit sizeo...
2 在c語言中表示什麼
你說的應該是printf函式吧 通俗的說 中m標示寬度,n標示小數點後顯示幾位。你的就是顯示5個寬度,其中顯示2位小數。int printf const char format,argument format 引數輸出的格式,定義格式為 flags width perc f n h l type 規...
c語言中if j 2 是什麼意思
劉2星雨 j 2如果是非0,結果則進入if語句,執行if結構中的語句,如果等於0,就不執行,直接跳過。這個判斷說白了就是如果j是奇數,就進入if,否則不進入直接跳過。 if j 2 是條件分支語句,等價於if j 2 0 條件滿足時執行後面的體語句,不滿足時跳過體語句。if是條件分支語句關鍵字,j ...