1樓:
x |=0x20 吧?x |= 0x20 即 x = x | 0x20 = 0b01111010 | 0b00100000 = 0b01111010 ,
| 運算子
是「或」運算子,0|0=0,0|1=1,1|0=1,1|1=1,
2樓:匿名使用者
||c語言中沒有||=這個運算子號。是不是筆誤?是不是|=?
如果是的話,那麼答案是:x的值不變。
因為0x20就等於0b00100000,
而x |=0x20 就等於是x = x | 0x20。
而 | 運算的意義是:按二進位制的對應位「或」運算。而0x20的二進位制中為1的那一位,原來也是1,1和1的「或」仍為1。而0x20的二進位制中其餘位都是零,任何碼和0的「或」不變。
c語言中0x20是什麼意思?
3樓:匿名使用者
這是一種整型常量的表示方式。以0x開頭的整型常量,代表後續字元為16進製表達。於是0x20也就是16進位制的20,即10進位制的32。
另外,0x20作為單位元組表示,可以用於字元型變數的賦值,用於char時,其代表ascii碼值0x20,即字元空格' '。
4樓:慕容冰綃
一般式指十六進位制的20,等於十進位制32
另外它還可能代表ascii字元等等
5樓:匿名使用者
十六進位制 換算十進位制就是32
6樓:青蘋果
以0x開頭的是十六進位制的數;
0x20=2*16+0=32
c語言中~x是什麼意思
7樓:該使用者未註冊
在c語言中,~x代表的意思是按位取反的意思。
將x按位取反
比如x = 10101010b。
那麼~x = 01010101b。
還要注意,在c語言中,還有邏輯取反符號「!」,「!x」的返回值只有0和1兩種。如果x為0,則!x=1。如果x不等於0.則!x的返回值為0。
擴充套件資料:c語言關鍵字。
signed 宣告有符號型別變數
unsigned 宣告無符號型別變數
struct 宣告結構體變數
union 宣告聯合型別
enum 宣告列舉型別
switch 用於開關語句
case 開關語句分支
default 開關語句中的「其他」分支auto 宣告自動變數,預設時編譯器預設為此const 宣告只讀變數
static 宣告靜態變數
register 宣告暫存器變數
8樓:匿名使用者
在c語言中,~x代表的意思是按位取反的意思。
使用~進行按位取反時,將某個數x的二進位制的每一個bit取反即可得到~x的值。
如~0x37,即~(0011 0111),得到的答案應該為:
~0x37=~(0011 0111)=(1100 1000)=0xc8。
需要注意的是,在c語言中,還有一個邏輯取反符號「!」
「!x」的返回值只有0和1兩種。如果x為0,則!x=1如果x不等於0.則!x的返回值為0。
9樓:紅紅紅紅貨
邏輯判斷
,歎號是非的意思,x是各變數,如果x為零那麼!x就是1,相反是0。
若x是「0」(為假),則「!x」就不是零(為真),則裡面為真,進入if下的大。
若x不是「0」(為真),則「!x」就是零(為假),則裡面為假,跳過if下的大。
擴充套件資料:c語言運算子列表:
1、優先順序1級
結合方向左結合(自左至右)
()圓括號
下標運算子
->指向結構體成員運算子
.結構體成員運算子(請注意它是一個實心圓點)2、優先順序2級
結合方向右結合(自右至左)單目運算子
!邏輯非運算子
~按位取反運算子
++自增運算子
--自減運算子
-負號運算子
(型別)型別轉換運算子
*指標運算子
&地址與運算子
sizeof長度運算子
10樓:匿名使用者
c語言:x=x-『0』是什麼意思
這是一個ascii字元運算,字元值運算就要提及ascii字元碼錶。
ascii(american standard code for information interchange,美國標準資訊交換**)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言。它是現今最通用的單位元組編碼系統。
計算機資料在儲存和運算時都要使用二進位制數表示(因為計算機用高電平和低電平分別表示1和0),如,a、b、c、d這樣的字母(包括大寫)、以及0、1等數字,還有一些常用的符號(例如*、#、@等)在計算機中儲存時也要使用二進位制數來表示,ascii編碼規定了常用符號用哪些二進位制數來表示。
在ascii碼錶中,字元0的數值是48,
所以:x=x-『0』,
就是:x=x-48,
這個式子的意思是:把變數x的值減去48,再把結果賦回給x
11樓:兔子和小強
將x按位取反
比如x = 10101010b
那麼~x = 01010101b
12樓:匿名使用者
這個是c語言中唯一的三目運算子。
string1 ?a : b
意思是說:當string語句判斷是真的時候,該語句使用結果a,否則是用結果b。
13樓:匿名使用者
/*~ 按位取反
*/# include "stdio.h"
int main(void)
/*在vc++6.0中的輸出結果:
------------------------b = 0xfffffffc
b = -4
press any key to continue------------------------------*/
14樓:匿名使用者
(!x++||y--)
這個邏輯大概就是
x等於0或者y不等於0最後表示式結果為1
++和--是後做的
還有如果x為0,y就不--了
15樓:匿名使用者
這個是一個條件語句的簡寫
就相對於:
if aa
belse
c如果aa為真,則執行b,否則執行c
16樓:匿名使用者
對x值取反。用來對一個二進位制數按位取反,即將0變1,將1變0。如10的二進位制是1010,取反後是0101,那邊麼取反後的十進位制的值就是5.
c語言中符號&,|,^是什麼意思?例如x=a&b,x=a|b,x=a^b分別是什麼意思?
17樓:匿名使用者
,||&與,|或,^du異或
這些運zhi算都是二進位制dao運版算
例:a=7 , b=10
x=a&b = 2(權bit0111&bit1010 = bit0010 );
x=a|b = 15(bit0111|bit1010 = bit1111 );
x=a^b = 13(bit0111^bit1010 = bit1101 );
18樓:靜佳園瑞
這些全是位運算的符號
&與,|或,^異或
這些運算都是二進位制運算
你可以去查查你的教材就好
19樓:匿名使用者
與 或 異或 的意思x=a&b的意思就是將a&b的結果賦給x 其他也是一樣
c語言中i=ox20是什麼意思
20樓:
在c語言中0x是十六進位制的寫法,在數字前加0x表示該數字為一個十六進位制的數。0x20,其數值的大小為十進位制的32;
c語言中可以在宣告一個變數的時候,直接將其初始化,i = 0x20,表示初始化變數 i 時,將 i 的值設定為0x20。
21樓:夜禮服假面
ox是代表十六進位制數
i=0x20,即十六進位制的20,十進位制數=32
22樓:喲呵虎虎虎虎
應該是:i=0x20,即二進位制的20,十進位制數=32,對應空格的ascii碼
c語言中%#x是什麼意思
23樓:匿名使用者
%x是16進位制輸出
.%8x是輸出8位
%#x是帶格式輸出, 效果為在輸出前加0x.
所以 這裡就是以16進位制輸出y值,並在前面加0x字首, 如果輸出小於8位,那麼實際輸出8位,左側補空格.
比如 y=0x20那麼會輸出
y= 0x20
如果y=0x12345678
那麼會輸出
y=0x12345678
24樓:呂兒緱惠
x+=a等價於x=x+a
賦值運算子當中,有一類c/c++獨有的複合賦值運算子。它們實際上是一種縮寫形式,使得對變數的改變更為簡潔。
total=total+3;
它的意思是本身的值加3,然後在賦值給本身。為了簡化,上面的**也可以寫成:
total+=3;
同樣,x*=y+7
等價於x=x*(y+7) r%=p
等價於r=r%p
複合賦值運算子有下列這些:
符號功能
+=加法賦值
-=減法賦值
*=乘法賦值
/=除法賦值
%=模運算賦值
<<=左移賦值
>>=右移賦值
&=位邏輯與賦值
|=位邏輯或賦值
^=位邏輯異或賦值
那麼看了上面的複合賦值運算子,有人就會問,到底total=total+3;與total+=3;有沒有區別?答案是有的,對於a=a+1,表示式a被計算了兩次,對於複合運算子a+=1,表示式a僅計算了一次。一般的來說,這種區別對於程式的執行沒有多大影響,但是當表示式作為函式的返回值時,函式就被呼叫了兩次(以後再說明),而且如果使用普通的賦值
運算子,也會加大程式的開銷,使效率降低。
25樓:勤鴻煊刁禎
+=指的是
x=x+?*=
指的是x=x*?
c語言的執行順序是從右到左
x+=(
x*=2
)先計算右邊的
x*=2再用
結果帶入到x+=()中.
26樓:壤駟興文韶起
一句話描述:
a+=1-->等價於
a=a+1;
這是因為編譯器再對**進行語義分析的時候會把a=a+1
翻譯成a+=1.我們寫**這麼寫的話就可以適當提高效率。
有關為什麼會翻譯成這個。樓主可參考《編譯原理》相關知識,重點是看看字首、中綴、字尾表示式相關知識點。
27樓:匿名使用者
強制輸出進位制識別符號號,即輸出0x
28樓:
在輸出時字首加 0x 或0x
c語言中x<<1什麼意思
29樓:匿名使用者
對於x中儲存的整數左移1位(相當於乘以2),然後按照8進位制輸出。
30樓:匿名使用者
<<:左移運算,與抄
其對用的襲有》(右移)
實現過程是把該變bai量先變成
du2進位制數,zhi然後進行移位,在用0補齊。
dao例:unsigned char x;
x=127;//(二進位制:0111 1111)//x<<1後的結果:1111 1110 <=> 254printf(''%o",x<<1); //按8進位制輸出376說明事項1:
移位運算都是2的整數倍,*2 和<<1的運算結果是一樣的,但是移位的執行效率要高
2:有符號數不要輕易使用移位,符號位比較容易出問題。
31樓:手機使用者
關係運算子…書上有吧
在c語言中<<是什麼意思?
32樓:匿名使用者
《是左移操作符,將數字的二進位制形式按位左移,末尾補零
例如:對於unsigned int x=015,x<<1,x<<2,x<<3的分析。
unsigned int x=015,
x=015,用0打頭的說明是八進位制數,由於後面要進行左移操作,所以轉換為二進位制看比較方便。
015(八進位制)=1101(二進位制)
<<:這個是左移操作符,按位左移,末尾補零
>>:這個是右移操作符,按位右移,前端補零
x<<1:左移一位,1101(二進位制)左移一位變為11010(二進位制),11010(二進位制) = 26(十進位制)
x<<2:左移兩位,1101(二進位制)左移兩位變為110100(二進位制),110100(二進位制) = 52(十進位制)
x<<3:左移三位,1101(二進位制)左移三位變為1101000(二進位制),1101000(二進位制) = 104(十進位制)
現在你應該也看出來了,左移n位就相當於原數乘以2的n次方
c語言中,x的絕對值怎麼表示,C語言中 絕對值 怎麼表示?
c語言中bai 通過相應的函式得du到x的絕對值,因zhi為資料資料型別不同 dao,相應的函內數不同。整型型別容 變數 整數 取絕對值 int abs int x long int labs long x long long int llabs long long x 浮點型別變數 小數 取絕對值...
c語言中a1,b2,c43的值為多少
逗號表示式的返回值是最後一個值 因此是43 逗號表示式的一般形式是 表示式1,表示式2,表示式n。其求解過程是 先計算表示式1,最後計算表示式n,最後整個逗號表示式的值為表示式n的值。因此,a 1,b 2,c 43 的值為43.在c語言中 int a 1,b 2,c 3 表示式 a b a b 的值...
c語言中, 0x5b這種表達方式對嗎?也就是說16進位制的整型
沒有任何問題。0x5b只是16進位制方式表示的整數,我們都知道整數是可以是正數或負數的,所以這樣表示沒有問題。不論是二進位制 八進位制 十進位制 十六進位制甚至是三十二進位制還是多少多少進位制,都只是一種數值的表示方法而已,它們歸根結底表示的都是整數,理解了這一點就好了。對補充資訊的回答 我說過,這...