卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

java怎么給boolean賦值 位運算特殊值運算的作用和用途?

位運算特殊值運算的作用和用途?位運算符在驅(qū)程開發(fā)中是你經(jīng)常遇到的,尤其是置0和置1。顧著指定你的位數(shù)突然發(fā)生變化,又沒法決定其它位的值,又要高效率的編寫代碼,這時候技巧就很重要的是了。父親在位運算中有

位運算特殊值運算的作用和用途?

位運算符在驅(qū)程開發(fā)中是你經(jīng)常遇到的,尤其是置0和置1。顧著指定你的位數(shù)突然發(fā)生變化,又沒法決定其它位的值,又要高效率的編寫代碼,這時候技巧就很重要的是了。父親在位運算中有幾個符號:|按位或、amp按位與、^異或、~按位非。

應用技巧

1

確定int型變量a是奇數(shù)應該偶數(shù)

aamp10偶數(shù)

aamp11奇數(shù)

2

取int型變量a的第k位(k0,1,2……sizeof(int))

agtgtkamp1

3

將int型變量a的第k位清0

aaamp~(1lt

4

將int型變量a的第k位置1

0,0|(1lt

5

int型變量循環(huán)左移k次

(設(shè)sizeof(int)16)

aaltgt16-k

6

int型變量a循環(huán)右移k次

(設(shè)sizeof(int)16)

aagtgtk|altlt16-k

#includeltstdio.hgt

intmain()

{

tprintf(#34學一向也不是一個人的事情,要有個相互監(jiān)督的伙伴

#34)

tprintf(#34工作不需要去學習C/C的或有興趣學C/C的伙伴可以不家我球球

_2208165112

#34)

treturn0

}

7

整數(shù)的平均值

對此兩個整數(shù)x,y,如果沒有用(xy)/2求平均值,會再產(chǎn)生溢出,而且xy很有可能會為0INT_MAX,不過我們很清楚它們的平均值是估計絕對不會溢出的,我們用不勝感激算法:

intaverages(intx,inty)//直接返回X,Y的平均值

{

return(xampy)((x^y))

}

8

推測一個整數(shù)有沒2的冪,是對一個數(shù)xdstrok0

booleanpower2(intx)

{

return((xamp(x-1))0)ampamp(x!0);

}

9

用位運算符交換兩個整數(shù)

voidswap(intx,inty)

{

x^y

y^x

x^y

}

10

計算絕對值

intabs(intx)

{

inty

yxy9bbb31

return(x^y)-y//同問:(xy)^y

}

11

取模運算轉(zhuǎn)變成位運算(在不產(chǎn)生瀉出的情況下)

a%(2^n)等價于aamp(2^n-1)

12

加減運算被轉(zhuǎn)化成位運算(在不才能產(chǎn)生滴下的情況下)

a*(2^n)等價于altltn

13

除法運算轉(zhuǎn)化成成位運算(在不再產(chǎn)生滴下的情況下)

a/(2^n)等價于agtgtn

例:12/812y9bbb3

14

確定變量定義

if(xa)xb

argumentsxa等價于xa^b^x

15

x的相反數(shù)

(~x1)

技巧雖好,只不過大家我還是建議自己啃一啃才能知道味道呀,閑暇時,不防取出來品一品,悟一悟其中的原理的地方。

練一練

#include

intmain()

{

unsignedinti0x9f43bda5

unsignedintret0

printf(#34i%x

#34,i)

//將i第3位置1

reti|(1ltlt3)

printf(#34ret%x

#34,ret)

//將i第2位置0

retiamp~(1ltlt2)

printf(#34ret%x

#34,ret)

//將i第4~9位置1

reti|(0x3fltlt4)

printf(#34ret%x

#34,ret)

//將i第3~7位置0

retiamp~(0x1fltlt3)

printf(#34ret%x

#34,ret)

//將i第1~7和9~11位置1

reti|(0x3fltlt1|7ltlt9)

printf(#34ret%x

#34,ret)

//將i第2~8位置13~20位置0

retiamp~(0x7fltlt2|0xffltlt13)

printf(#34ret%x

#34,ret)

}

bool類型能賦值么?

是可以的。bool類型能變量賦值。

bool變量參與運算時,遵循運算規(guī)則,雙目或三目運算時,常見要將bool轉(zhuǎn)換成成更高精度類型參加運算結(jié)果,但是值不能是0x0或0x1;

bool變量被變量定義時(坐落左邊),所有類型都先得轉(zhuǎn)換成成邏輯類型(0x0或0x1)。

同時,bool常見應該是一個字節(jié),和char類似于,大部分情況就把它當作唯有兩值的char變量用。