首页 > 教育培训

java怎么给boolean赋值 位运算特殊值运算的作用和用途?

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

位运算符在驱程开发中是你经常遇到的,尤其是置0和置1。顾着指定你的位数突然发生变化,又没法决定其它位的值,又要高效率的编写代码,这时候技巧就很重要的是了。父亲在位运算中有几个符号:|按位或、amp按位与、^异或、~按位非。

应用技巧

1

java怎么给boolean赋值 位运算特殊值运算的作用和用途?

确定int型变量a是奇数应该偶数

aamp10偶数

aamp11奇数

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型变量循环左移k次

(设sizeof(int)16)

aaltgt16-k

6

int型变量a循环右移k次

(设sizeof(int)16)

aagtgtk|altlt16-k

#includeltstdio.hgt

intmain()

{

tprintf(#34学一向也不是一个人的事情,要有个相互监督的伙伴

#34)

tprintf(#34工作不需要去学习c/c的或有兴趣学c/c的伙伴可以不家我球球

_2208165112

#34)

treturn0

}

7

整数的平均值

对此两个整数x,y,如果没有用(xy)/2求平均值,会再产生溢出,而且xy很有可能会为0int_max,不过我们很清楚它们的平均值是估计绝对不会溢出的,我们用不胜感激算法:

intaverages(intx,inty)//直接返回x,y的平均值

{

return(xampy)((x^y))

}

8

推测一个整数有没2的幂,是对一个数xdstrok0

booleanpower2(intx)

{

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

}

9

用位运算符交换两个整数

voidswap(intx,inty)

{

x^y

y^x

x^y

}

10

计算绝对值

intabs(intx)

{

inty

yxy9bbb31

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

}

11

取模运算转变成位运算(在不产生泻出的情况下)

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

12

加减运算被转化成位运算(在不才能产生滴下的情况下)

a*(2^n)等价于altltn

13

除法运算转化成成位运算(在不再产生滴下的情况下)

a/(2^n)等价于agtgtn

例:12/812y9bbb3

14

确定变量定义

if(xa)xb

argumentsxa等价于xa^b^x

15

x的相反数

(~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变量参与运算时,遵循运算规则,双目或三目运算时,常见要将bool转换成成更高精度类型参加运算结果,但是值不能是0x0或0x1;

bool变量被变量定义时(坐落左边),所有类型都先得转换成成逻辑类型(0x0或0x1)。

同时,bool常见应该是一个字节,和char类似于,大部分情况就把它当作唯有两值的char变量用。

int情况

原文标题:java怎么给boolean赋值 位运算特殊值运算的作用和用途?,如若转载,请注明出处:https://www.shcrbfchs.com/tag/7368.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「泰福润金」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。