“+ (加)”的版本间的差异
第2行: | 第2行: | ||
*'''描述''' | *'''描述''' | ||
− | 这些运算符返回两个操作数的和,差,乘积,商. 这些运算是根据操作数的数据类型来计算的 | + | **这些运算符返回两个操作数的和,差,乘积,商. 这些运算是根据操作数的数据类型来计算的 |
+ | **比如 9和4都是int类型,所以9 / 4 结果是 2.这也就代表如果运算结果比数据类型所能容纳的范围要大的话,就会出现溢出.(例如. 1加上一个整数 int类型 32,767 结果变成-32,768). | ||
+ | ** 如果操作数是不同类型的,结果是“更大”的那种数据类型. 如果操作数中的其中一个是 float类型或者double类型, 就变成了浮点数运算. | ||
*'''例子''' | *'''例子''' | ||
第23行: | 第25行: | ||
*'''提示:''' | *'''提示:''' | ||
− | + | **整型常量的默认值是int类型,所以一些整型常量(定义中)的计算会导致溢出.(比如: 60 * 1000 会得到一个负数结果.那么if(60*1000 > 0) ,if得到的是一个false值. | |
− | 整型常量的默认值是int类型,所以一些整型常量(定义中)的计算会导致溢出.(比如: 60 * 1000 会得到一个负数结果.那么if(60*1000 > 0) ,if得到的是一个false值. | + | **在选择变量的数据类型时,一定要保证变量类型的范围要足够大,以至于能容纳下你的运算结果. |
− | 在选择变量的数据类型时,一定要保证变量类型的范围要足够大,以至于能容纳下你的运算结果. | + | **要知道你的变量在哪个点会“翻身”,两个方向上都得注意.如: (0 - 1) 或 (0 - - 32768) |
− | 要知道你的变量在哪个点会“翻身”,两个方向上都得注意.如: (0 - 1) 或 (0 - - 32768) | + | **一些数学上的分数处理,要用浮点数,但其缺点是:占用字节长度大,运算速度慢. |
− | 一些数学上的分数处理,要用浮点数,但其缺点是:占用字节长度大,运算速度慢. | + | **使用类型转换符,例如 (int)myFloat 将一个变量强制转换为int类型.. |
− | 使用类型转换符,例如 (int)myFloat 将一个变量强制转换为int类型.. | ||
[[https://www.microduino.cn/wiki/index.php/Arduino_%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C/zh 返回Arduino语法手册]] | [[https://www.microduino.cn/wiki/index.php/Arduino_%E8%AF%AD%E6%B3%95%E6%89%8B%E5%86%8C/zh 返回Arduino语法手册]] |
2016年3月28日 (一) 07:52的最新版本
- 加,减,乘,除
- 描述
- 这些运算符返回两个操作数的和,差,乘积,商. 这些运算是根据操作数的数据类型来计算的
- 比如 9和4都是int类型,所以9 / 4 结果是 2.这也就代表如果运算结果比数据类型所能容纳的范围要大的话,就会出现溢出.(例如. 1加上一个整数 int类型 32,767 结果变成-32,768).
- 如果操作数是不同类型的,结果是“更大”的那种数据类型. 如果操作数中的其中一个是 float类型或者double类型, 就变成了浮点数运算.
- 例子
y = y + 3; x = x - 7; i = j * 6; r = r / 5; Syntax result = value1 + value2; result = value1 - value2; result = value1 * value2; result = value1 / value2; Parameters: value1: 任何常量或者变量 value2: 任何常量或者变量
- 提示:
- 整型常量的默认值是int类型,所以一些整型常量(定义中)的计算会导致溢出.(比如: 60 * 1000 会得到一个负数结果.那么if(60*1000 > 0) ,if得到的是一个false值.
- 在选择变量的数据类型时,一定要保证变量类型的范围要足够大,以至于能容纳下你的运算结果.
- 要知道你的变量在哪个点会“翻身”,两个方向上都得注意.如: (0 - 1) 或 (0 - - 32768)
- 一些数学上的分数处理,要用浮点数,但其缺点是:占用字节长度大,运算速度慢.
- 使用类型转换符,例如 (int)myFloat 将一个变量强制转换为int类型..