中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 12:38
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » set/a里的位运算怎么用?
可打印版本  7,828 / 42
第31楼 vkill 发表于 2006-10-19 21:24
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
还看的晕忽忽
第32楼 lxmxn 发表于 2006-10-20 00:18
版主 发帖 4,938 积分 11,386
提供关于BASE64编码的资料

  算出了base64转换后的编码之后,还要与相关的字符对应:

A ----------- 0
B ----------- 1
C ----------- 2
D ----------- 3
E ----------- 4
F ----------- 5
G ----------- 6
H ----------- 7
I ----------- 8
J ----------- 9
K ----------- 10
L ----------- 11
M ----------- 12
N ----------- 13
O ----------- 14
P ----------- 15
Q ----------- 16
R ----------- 17
S ----------- 18
T ----------- 19
U ----------- 20
V ----------- 21
W ----------- 22
X ----------- 23
Y ----------- 24
Z ----------- 25
a ----------- 26
b ----------- 27
c ----------- 28
d ----------- 29
e ----------- 30
f ----------- 31
g ----------- 32
h ----------- 33
i ----------- 34
j ----------- 35
k ----------- 36
l ----------- 37
m ----------- 38
n ----------- 39
o ----------- 40
p ----------- 41
q ----------- 42
r ----------- 43
s ----------- 44
t ----------- 45
u ----------- 46
v ----------- 47
w ----------- 48
x ----------- 49
y ----------- 50
z ----------- 51
0 ----------- 52
1 ----------- 53
2 ----------- 54
3 ----------- 55
4 ----------- 56
5 ----------- 57
6 ----------- 58
7 ----------- 59
8 ----------- 60
9 ----------- 61
+ ----------- 62
/ ----------- 63
第33楼 electronixtar 发表于 2006-10-20 00:55
铂金会员 发帖 2,672 积分 7,493
各路高手亮本事的时候到了

base64编码用处还是蛮多的,比如说eml文件、批处理内嵌bin等

[ Last edited by electronixtar on 2006-10-20 at 01:08 ]
第34楼 不得不爱 发表于 2006-10-20 07:19
超级版主 发帖 2,044 积分 5,310 来自 四川南充
set/a里的位运算其他的给我们说下好吗?
第35楼 redtek 发表于 2006-10-20 10:32
金牌会员 发帖 1,147 积分 2,902
Originally posted by lxmxn at 2006-10-19 07:04:

  多谢est兄写了关于位运算的帖子。

  但是没有写出这位运算到底有哪些方面的应用,提不起大家对位运算的兴趣。大家只知遠...



这个主意好~:)
写些能让大家感兴趣又实用的位运算的例子来~:)
又聚人气又为开发打基础又增加了知识范围~:)
第36楼 electronixtar 发表于 2006-10-20 21:57
铂金会员 发帖 2,672 积分 7,493
说实话,我是直接把其他语言里的位运算照搬过来改成 set /a 的。真的没什么写头。
第37楼 smlz1213 发表于 2007-08-19 11:53
初级用户 发帖 19 积分 25
```
`
第38楼 knoppix7 发表于 2007-08-19 12:14
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
//////
写,我们期待着。
第39楼 solomon9813 发表于 2007-08-22 23:30
新手上路 发帖 3 积分 7
hehe ,说道心里去了
第40楼 plp626 发表于 2008-03-02 23:33
银牌会员 发帖 1,020 积分 2,278
第41楼 pooronce 发表于 2008-03-03 10:53
中级用户 发帖 250 积分 484
楼主啊,你得先弄懂10进制2进制转化啥的啊

我举几个简单例子说明CMD下的位操作吧
set /a 13^<^<1
结果是26,因为13的二进制是1101,左移1位就相当于在二进制末尾加一个0,就是11010,也就是26了。
set /a 13^>^>1
结果是6,1101去掉末位1后,为110,也就是10进制6了

同样
set /a 13^<^<2为52
set /a 13^>^>2为3

再说按位与&
按位与的意思是转化成二进制后,位对应进行逻辑与操作的结果,与操作的算法是全1则1,否则0.
set /a 13^&11
结果是9
因为1101&1011,中间两位各有一0,只有首尾两位都是1,所以是1001了,也就是10进制9了

明白位操作是位对应操作了,就不用再赘述异和或了,只说下异及或的算法

异又称异或(对应的有同或),算法是相同的两数操作得0,不同得1,也就是0^1=1,1^1=0,0^0=0。
而或操作呢,是全0则0,也就是0|1=1,1|1=1, 0|0=0了
第42楼 jha334201553 发表于 2009-04-23 12:42
初级用户 发帖 18 积分 20 来自 浙江永康
@echo off
set b=0
for /l %%a in (1,1,100) do set /a b=b+%%a>>nul
echo 一加到一百等于:%b%
pause>nul
高手们:
set /a a=00000010 "<<" 2 是什么意思啊?
第43楼 Lying 发表于 2010-06-26 10:34
新手上路 发帖 20 积分 19
稀里糊涂的
上一页  1 2 3
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023