中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-19 16:02
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [已结]如何使用 赋值 符号? 查看 779 回复 3
楼 主 [已结]如何使用 赋值 符号? 发表于 2006-04-02 18:07 ·  中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
UID 52853
性别 男
来自 广东
状态 离线

以下这些都是批处里的 赋值 符号
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 ]
2 发表于 2006-04-02 19:25 ·  中国 福建 泉州 石狮市 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
UID 586
性别 男
来自 福建泉州
状态 离线
这些都是使用二进制进行计算的.
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
其它的依此类推
QQ:366840202
http://chenall.net
3 发表于 2006-04-02 20:34 ·  中国 广东 广州 白云区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
UID 15812
性别 男
来自 广东广州
状态 离线
作用跟C语言的等号运算符完全一样,如果楼主学过C语言,那么这些赋值符的意义就不言而喻了。
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
4 发表于 2006-04-02 21:58 ·  中国 广东 广州 中移铁通
中级用户
★★
积分 256
发帖 93
注册 2006-03-26 22:12
UID 52853
性别 男
来自 广东
状态 离线
谢谢 2楼兄弟.

是啊.和 c的一样.

2年前学过c的基础.现在都忘光了
论坛跳转: