【批处理学习笔记】第二十一课:数值计算

批处理里面的数值计算功能较弱,只能够进行整型计算,忽略浮点数的小数部分;同时数值计算的范围也受限于系统位数,对于目前较为常见的32位机来说,数值计算能处理的数值范围为0x80000000h~0x7FFFFFFFh,即-2147483648~+2147483647。
    数值计算需要使用set命令,具体格式为“set /a expression”。其中,expression代表计算表达式,计算表达式跟C语言里面的表达式基本上完全一致。set支持的运算符也跟C语言里面的一样,只是没有了増一减一。set支持的运算符及优先级排序如下:
=========================================
    ()                  - 分组
    ! ~ -               - 一元运算符(逻辑非、按位非、取负)
    * / %               - 算数运算符(乘、除得商、除得余数,即取余)
    + -                 - 算数运算符(加、减)
    << >>               - 逻辑移位(左移一位、右移一位)
    &                   - 按位“与”
    ^                   - 按位“非”
    |                   - 按位“或”
    = *= /= %= += -=    - 赋值
      &= ^= |= <<= >>=
    ,                   - 表达式分隔符(set可一次处理多个表达式)
=========================================
    我们知道,批处理中取变量的值是需要用%或者!的,而在set /a 中,直接用变量名称即可取得变量的值。另外,set支持八进制(数字前缀0)、十进制(数字无前缀)和十六进制(数字前缀0x),且支持不同进制之间的计算,如set /a a=123+0123+0x123,计算及显示结果为十进制。

本节学习有关批处理的一些比较琐碎、但又比较有价值的一些知识,运用这些知识后,才有条件更好的实现的批处理的功能,并能使批处理摆脱黑白世界而显得更加多姿多彩。废话少说,开讲啦~

时间: 2024-11-09 02:32:25

【批处理学习笔记】第二十一课:数值计算的相关文章

【批处理学习笔记】第一课:什么是批处理

批处理(Batch),也称为批处理脚本.顾名思义,批处理就是对某对象进行批量的处理.目前比较常见的批处理包含两类:DOS批处理和PS批处理.PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本:而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本.这里要讲的就是DOS批处理. 批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EX

linux学习笔记-第十一课-shell基础

1.历史命令(history.↓.↑.!) history的默认值是1000,该值在/etc/profile中指定 命令history,用来查询最近命令历史记录: 使用方向键(↑)可以查询上一个命令: 使用方向键(↓)可以查询下一个命令: 感叹号(!!)可以重新执行最近执行的命令: 在(!)后面输入要查询命令的首字符或者字符串,可以搜出符合该字符串的最近的命令: (!n)代表执行history命令中标记的第n条命令(注:n也可以为负数,如!-2代表执行倒数第二个命令): (!#)可以执行2次命令

linux学习笔记-第二十七课-tamcat与resin

一.tomcat 1. 安装JDK [[email protected] src]# tar -zxvf jdk-7u79-linux-i586.tar.gz # 编辑初始化信息脚本 [[email protected] src]# mv jdk1.7.0_79  /usr/local/jdk1.7.0_79 [[email protected] src]# vim /etc/profile.d/java.sh JAVA_HOME=/usr/local/jdk1.7.0_79 JAVA_BIN=

linux学习笔记-第二十三课-LNMP-Nginx与PHP配置(二)

一.Nginx 1.Nginx全局配置 [[email protected] ~]# vim /usr/local/nginx/conf/nginx.conf user nobody nobody; worker_processes 2; error_log /usr/local/nginx/logs/nginx_error.log crit; pid /usr/local/nginx/logs/nginx.pid; worker_rlimit_nofile 51200; events {   

[ExtJS5学习笔记]第二十一节 Extjs5中使用config配置给ext.widget或者create方法传递参数

本文地址:http://blog.csdn.net/sushengmiyan/article/details/39252805 官方例子:http://docs.sencha.com/extjs/5.0/apidocs/#!/api/Ext.Class-cfg-config 本文作者:sushengmiyan ----------------------------------------------------------------------------------------------

Linux学习笔记 第十一课 shell基础知识

一.shell特性 1.history !! !$ !n !str 2.tab 命令补全 3.alias 和 unalias 4.通配符 * ?  [ ] 5.输入输出重定向 >, >>, <, << , 2>, 2>>, &>,&>> 二.变量      1.系统变量 set  env export 2.变量命名规则 3.取消变量  unset 4.变量引用:``  ' '  " " 三.系统和个

Python学习笔记第二十一周

目录: 一.URL 1.Views -  请求的其他信息 - 装饰器 2.Models - 操作 3.Templates - html模板的使用 - 自定义函数 4.cookie和session 5.分页(自定义分页) 6.Form验证 内容: 一.URL 1.Views -  请求的其他信息 - 装饰器 2.Models - 操作 3.Templates - html模板的使用 - 自定义函数 4.cookie和session 5.分页(自定义分页) 6.Form验证

学习笔记第二节课

配置IP 进入系统 输入用户名和密码,显示出命令前缀 尝试输入命令 输入命令dhclient自动获取IP 输入ip add 查看IP地址 点击菜单栏里的编辑 点击VMnet8,查看子网IP以及子网掩码 进行NAT设置 查看网关IP 查看完毕,确定退出 输入命令配置IP 尝试使用Tab快捷补全命令 输入vi 编写 进入文件界面 按字母i 下方出现编辑模式 然后,修改BOOTPROTO=static为静态IP 修改ONBOOT为yes 不然不会重新加载IP 添写IP地址 网段 配置网关 以及DNS

o&#39;Reill的SVG精髓(第二版)学习笔记——第十一章

第十一章:滤镜 11.1滤镜的工作原理 当SVG阅读器程序处理一个图形对象时,它会将对象呈现在位图输出设备上:在某一时刻,阅读器程序会把对象的描述信息转换为一组对应的像素,然后呈现在输出设备上.例如我们用SVG的<filter>元素指定一组操作(也称作基元,primitive),在对象的旁边显示一个模糊的投影,然后把这个滤镜附加给一个对象: <fliter id="drop-shadow"> <!-- 这是滤镜操作 --> </fliter&g

《Javascript权威指南》学习笔记之十一:处理字符串---String类和正则表达式

一.正则表达式的基本语法 1.概念:正则表达式由普通字符和特殊字符(元字符)组成的文本模式,该模式描述在查找字符串主体时待匹配的一个或者多个字符串.正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配. 普通字符包括所有的大小写字母字符.所有数字.所有标点符号及一些特殊符号.普通字符本身可以组成一个正则表达式,也可以和元字符组合组成一个正则表达式:而元字符则具有特殊的含义,包括().[].{}./.^.$.*.+.?...|.-.?:.?=.?! 2.基本语法 3.优先权含义 二.使用