联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by pinghu at 2008-2-11 03:22 PM: 批处理set命令中的算数运算符和逻辑运算符,新手请看 Dos下的写法 批处理中的写法 符号的含义和取值范围 按位异或:num1^^num2 num1^^num2 转2进制补码,按位判断,相异为1,相同为0,转10进制输出, 按位与: num1^&num2 num1^&num2 转2进制补码,按位判断,全1为1,否则为0,转10进制输出 按位或: num1^|num2 num1^|num2 转2进制补码,按位判断,全0为0,否则为1,转10进制输出 加: num1+num2 num1+num2 减: num1-num2 num1-num2 乘: num1*num2 num1*num2 除: num1/num2 num1/num2 结果向零取整,num2不为0 求余: num1%num2 num1%%num2 num2不为0,num2为负数当同绝对值的正数处理,num2为负数时当正数计算,然后结果取负 按位取反:~num ~num 转2进制,1变成0,0变成1,以补码的十进制形式输出 逻辑非: !num !num num为0输出1,不为0输出0 求负: -num -num 逻辑左移:num1^<^<num2 num1^<^<num2 转2进制补码,num1所有位向左移num2个位数,移几位后面填几个0,转十进制输出,num2为负时输出0 逻辑右移:num1^>^>num2 num1^>^>num2 转2进制补码,num1所有为向右移num2个位数,转十进制输出,num2为负时输出0