标题: [已结]如何使用 赋值 符号?
[打印本页]
作者: doscc
时间: 2006-4-2 18:07
标题: [已结]如何使用 赋值 符号?
以下这些都是批处里的 赋值 符号
1) =
2) *=
3) /=
4) %=
5) +=
6) -=
7) &=
8) ^=
9) |=
10) <<=
11) >>=
---------------------------------------
解析:
1) =
set name=小明
::把 小明 付给变量 name
2) *=
set n*=2
::把n乘2,并付给变量n n*=2 等价于 n=n*2
3) /=
set n/=2
::把n除于2,并付给变量n n/=2 等价于 n=n/2
4) %=
set n%=m
::把 n除m的余 数付给变量n n%=m 等价于 n=n%m
5) +=
set n+=2
::把 n加上2,并付给变量n n+=2 等价于 n=n+2
6) -=
set n-=2
::把 n减去2,并付给变量n n-=2 等价于 n=n-2
这是小弟对以上 6种赋值符号 使用的见解!
而后面的 7-11 的使用小弟不态清楚! 请帮忙解析一下.在这里谢谢了!
7) &=
8) ^=
9) |=
10) <<=
11) >>=
还有
<< >> - 逻辑移位
^ - 按位“异”
| - 按位“或”
[
Last edited by doscc on 2006-4-2 at 22:02 ]
作者: chenall
时间: 2006-4-2 19:25
这些都是使用二进制进行计算的.
1. 按位“与”运算符 (&)
只要两个表达式的某位都为 1,则结果的该位为 1。否则,结果的该位为0
2.按位“异或”运算符 (^)
当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为 0。
3.按位“或”运算符 (|)
任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。
4.按位左移运算符 (<<)
5.按位右移运算符 (>>)
例子:
set /a "111&100" 结果=100
首先将111和100换算成2进制数.
换算结果:
1101111
1100100
-------------
1100100
最后再将1100100换算成十进制数=100
set /a "14>>2" 将14的二进制数向右移两位.移出的数被丢弃.
算法:十进制数14的二进制=1110 丢弃后面两位即得到11.
再将11换成十进制数.得到3
其它的依此类推
作者: JonePeng
时间: 2006-4-2 20:34
作用跟C语言的等号运算符完全一样,如果楼主学过C语言,那么这些赋值符的意义就不言而喻了。
作者: doscc
时间: 2006-4-2 21:58
谢谢 2楼兄弟.
是啊.和 c的一样.
2年前学过c的基础.现在都忘光了