第21课:数值计算

批处理里面的数值计算功能较弱,只能够进行整型计算,忽略浮点数的小数部分;同时数值计算的范围也受限于系统位数,对于目前较为常见的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,计算及显示结果为十进制。

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

实例:

1.bat

@echo off

set /a a=123+0123+0x123

echo a=%a%

pause

时间: 2024-10-24 03:59:31

第21课:数值计算的相关文章

Spark IMF传奇行动第21课:从Spark架构中透视Job

版权声明:本文为博主原创文章,未经博主允许不得转载.作者:HaiziS 昨晚听了王家林老师的Spark IMF传奇行动第21课:从Spark架构中透视Job,笔记如下: 默认一个worker有一个executor,也可以设置多个,当cpu利用不足时. 并行度也是被继承的 当Spark集群启动的时候,首先启动Master进程负责整个集群资源管理和分配并接受作业的提交且为作业分配计算资源,每个工作节点默认启动一个Worker Process来管理当前节点的mem,cpu等计算资源并且向Master汇

数据--第21课-递归课后练习

第21课-递归课后练习 1. permutation.c中的全排列算法只能处理集合中的元素各不相同的情况.设计算法,使其能够对重复元素的集合进行全排列. 2. 编程查找一个迷宫从起点到终点的通路! 提示 (1)可以用一个二维数组表示迷宫. l  元素1表示障碍. l  元素0表示可通行. (2)创建一个和迷宫等大小的二维数组作为标记数组. l  当标记数组位置为0且迷宫对应位置为 0时,可通行 . (3)利用回溯法“探路”. l  当前路不可通行时,在标记数组对应位置标记1,并回溯. 是否可以找

跟我一起学编程—《Scratch编程》第21课:打地鼠

能够熟练创建并使用变量 能够熟练使用“广播”和侦测指令 能够熟练绘制角色和背景造型 能够熟练使用循环.选择等程序指令 任务描述: 绘制有6个地洞的背景:绘制锤子的两个造型:绘制地鼠的造型. 游戏开始后,地鼠在随机1-5秒后出现:等待随机1-2秒后隐藏:按下鼠标后,锤子变换造型:地鼠被击中后,变换造型,分数增加1.   任务分析: 1. 地鼠的随机时间出现和随机时间隐藏 2. 锤子的造型切换.地鼠的造型切换 3. 记录成绩,定义全局变量“成绩” 程序指令: “锤子”角色的程序指令: “地鼠”角色的

第21课 shared_ptr共享型智能指针

一. shared_ptr的基本用法 (一)与unique_ptr的比较 比较 shared_ptr unique_ptr 备注 初始化 ①shared_ptr<T> sp; sp.reset(new T()); ②shared_ptr<T> sp(new T()); ③shared_ptr<T> sp1 = sp; //拷贝构造 ④auto sp = make_shared<int>(10); ①unique_ptr<T> up; up.res

第21课 Qt中的标准对话框(下)

1. 字体对话框:QFontDialog (1)Qt中提供了预定义的字体对话框类(QFontDialog) (2)QColorDialog类用于提供选择字体的对话框部件 (3)字体对话框的使用方式(见后面的实例分析) (4)QFontDialog中的实用函数: QFontDialog::getFont 2. 进度对话框:QProgressDialog (1)Qt中提供了预定义的进度对话框类(QProgressDialog) (2)QProgressDialog类用于显示进度信息 (3)QProg

《标日》中下 第20课,第21课 /中国近代史

第21课 对象的构造顺序

1. 对象的构造顺序 (1)对于局部对象:当程序执行流到达对象的定义语句时进行构造 [实例分析]局部对象的构造顺序 (2)对于堆对象 ①当程序执行流到达new语句时创建对象 ②使用new创建对象将自动触发构造函数的调用 [编程实验]堆对象的构造顺序 (2)对于全局对象 ①对象的构造顺序是不确定的 ②不同的编译器使用不同的规则确定构造顺序 [实例分析]全局对象的构造顺序 2.小结 (1)局部对象的构造顺序依赖于程序的执行流 (2)堆对象的构造顺序依赖于new的使用顺序 (3)全局对象的构造顺序是不

第21课 线性表的链式存储结构

1. 链式存储的特点 (1)为了表示每个数据元素与其直接后继元素之间的逻辑关系: (2)数据元素除了存储本身的信息外,还需要存储其直接后继的信息. (3)避免了顺序存储结构线性表在插入和删除元素时需要移动大量元素的问题. 2. 链式存储逻辑结构 (1)数据域:存储数据元素本身 (2)指针域:存储相邻结点地址 3. 链表中的基本概念 (1)头结点:链表中的辅助结点,包含指向第一个数据元素的指针 (2)数据结点:链表中代表数据元素的结点,表现形式为:(数据元素,地址) (3)尾结点:链表中的最后一个

Alex 的 Hadoop 菜鸟教程: 第21课 不只是在HBase中用SQL:Phoenix

声明 本文基于 Centos6.x + CDH5.x 什么是Phoenix Phoenix的团队用了一句话概括Phoenix:"We put the SQL back in NoSQL" 意思是:我们把SQL又放回NoSQL去了!这边说的NoSQL专指HBase,意思是可以用SQL语句来查询Hbase,你可能会说:"Hive和Impala也可以啊!".但是Hive和Impala还可以查询文本文件,Phoenix的特点就是,它只能查Hbase,别的类型都不支持!但是也