Board logo

标题: [其他] 求助批处理set命令的2个语句的解释及答案? [打印本页]

作者: oett    时间: 2011-11-29 16:20     标题: 求助批处理set命令的2个语句的解释及答案?

小弟新来的,看不懂,正在学,谁给解释下?有些会,有些不会,比如下面这2个,没看懂!!

set/a a=55^<^<5该命令的结果是?
set/a "leap=!(2012%4)^!(2012%100)|!(2012%400)"该命令的结果是?
作者: CrLf    时间: 2011-11-29 16:43

本帖最后由 CrLf 于 2011-11-29 20:10 编辑

本贴标题修改后已基本符合版规,故收回原警告贴。
作者: 小胖狐狸    时间: 2011-11-29 16:53

第一个:55转换成二进制后,左移5位,^在这里是转义符 << 是左移的意思
左移5位相当于乘以2的5次方

第二个代码:判断2012年是否闰年——只适用于在cmd窗口直接执行命令,如果写入bat,要将其中的%换成%%
2012%100 这是拿2012除以100后取余数,前面加个!,就是对余数进行运算,如果余数非0,就改成0,如果余数为0,就改成1
bat代码可参考:
  1. @echo off
  2. set/p year=请输入年份:
  3. set/a num=!(year%%4)^&!(!(year%%100))^|!(year%%400)
  4. if %num% equ 0 (echo 平年) else (echo 闰年)
  5. pause
复制代码

作者: oett    时间: 2011-11-29 17:33

谢谢小胖
作者: newfish    时间: 2011-11-30 16:02

我觉得批处理 运算 很强。。 但是用的不多。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2