Articles Posted by the Author:

  • += , -= , *= , /=

    += , -= , *= , /=

    描述 一个变数与常数或变数做数学运算。+= 运算符只是一个方便的扩展语法,如下所示。 语法 x += y; // 相当于 x = x + y; x -= y; // 相当于 x = x - y; x *= y; // 相当于 x = x * y; x /= y; // 相当于 x / y; 参数 x:任意变数型态 y:任意变数型态或常数 范例 语法参考主页面 本页由热血青年 LBU 译自英文版。 The text of the 86Duino […]


  • ++ (递增运算子) /  (递减运算子)

    ++ (递增运算子) / (递减运算子)

    描述 递增或递减一个变数 语法 x++; // x 增加 1 并回传旧的数值 ++x; // x 增加 1 并回传新的数值 x-- ; // x 减少 1 并回传旧的数值 --x ; // x 减少 1 并回传新的数值 参数 x: 一个整数或者长整数型态(可以用unsigned型态) 回传值 原始数值或是经过递增(递减)的数值。 范例 See also - += (compound addition) - -= (compound subtraction) 语法参考主页面 本页由热血青年 LBU 译自英文版。 The text of the 86Duino reference […]


  • 位元左移运算 (<<), 位元右移运算 (>>)

    位元左移运算 (<<), 位元右移运算 (>>)

    描述 C++ 有两个算术移位的运算子:左移位 >;该运算子的运算方式为向左或向右移动运算子左边的运算元所有位元,移动的位数由运算子右边的运算元决定。 更多的位元运算数学请参考 这里。 语法 variable > number_of_bits 参数 variable: 任一变数 (byte, int, long) number_of_bits: 一个小于 32 的整数 范例 当你对一个数值 x 左移位 y 个位元时 (x


  • 位元NOT运算 (~)

    位元NOT运算 (~)

    C++ 中位元补数运算 (NOT) 的符号以 ~ 表示,~ 不像 & 和 |,而是对运算子右边的单一运算元进行运算,位元补数运算会针对每一个位元进行二进制的补数运算,会将 0 转换成 1,1 转换成 0,请参考以下范例:          0    1      运算元1                   1    0      ~ 运算元1 你可能会惊讶于 103 经过补数运算的结果居然会是个负数 -104,这是因为 int 变数中最高的位元会被当作符号位元,当这个位元为 1 时表示该数为负数,这种编码方式又被称作二补数,详细资料可以参考维基百科的 二补数。 有意思的是,任一个整数 x,其 ~x 的结果就等于 -x-1。 这么看来,带有正负符号的整数有时会导致非预期的意外。 语法参考主页面 本页由热血青年 LBU 译自英文版。 The text of the 86Duino reference is […]


  • 位元AND运算 (&), 位元OR运算 (|), 位元XOR运算 (^)

    位元AND运算 (&), 位元OR运算 (|), 位元XOR运算 (^)

    位元运算子是用来计算变数的位元,它们可以帮忙解决各种常见的编程问题;更多有关位元运算的素材与教学可以参考这里。 描述和语法 下面是所有的运算子的语法还有说明,其他的细节可以在参考教学中找到。 位元运算 AND (&) C++ 中位元运算 AND 以单一符号 & 表示,用在两个整数之间,位元运算 AND 运算子会运算每一个位元位置上的值(0/1),依据固定的规则:若两者皆为 1 则输出是 1,其余状况输出皆为 0;请参考以下范例:         0 0 1 1   运算元1         0 1 0 1   运算元2                  0 0 0 1   (运算元1 & 运算元2)       回传结果 在 86duino 上 int 型别将是一个 32 位元的数值,所以用在两个 int 型别的变数上会产生 32 个 AND 运算去分别处理每个位元,像下面的程式码范例一样: 每一个 a 与 […]


  • 指标运算子: & (取址) 与 * (取值)

    指标运算子: & (取址) 与 * (取值)

    对于 C 语言的初学者来说,指标是比较复杂的课题之一,在绝大多数的 86Duino 草稿码中,你不会遇到指标。然而,对于操纵某些数据结构,指标的使用可以简化代码,操纵指标的知识可以让你在存取数据资料时变得很方便。 语法参考主页面 本页由热血青年 LBU 译自英文版。 The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.


  • 布林运算子

    布林运算子

    這些布林運算子可以被應用在 if 條件語句中。 && (邏輯上的 and) 若兩運算元皆為真,則判斷結果為真,如: 若兩輸入皆為 HIGH,則為真。 || (邏輯上的 or) 若其中一個運算元為真,則為真。如: 若 x 或 y 大於 0,則為真。 ! (not) 若運算元為假,則為真。如: 若 x 為假(即 x 等於 0),則為真。 警告 寫程式過程中, 你應該要避免誤用 AND 布林運算子「&&」和 AND 位元運算子「&」。它們是完全不同的東西。 同樣地,勿將 OR 布林運算子「||」和 OR 位元運算子「|」混淆。 NOT位元運算子「~」和NOT布林運算子「!」也大不相同,你須確認需要何種運算,避免誤用。 範例 if (a >= 10 && a



  • % (余数运算子)

    % (余数运算子)

    描述 计算整数除法中的余数,它在维持一个变数的数值在一定范围内时相当有用(例如一个阵列的大小)。 语法 result = dividend % divisor 参数 dividend: 被除数 divisor: 除数 回传值 余数 范例 范例草稿码 提醒 % 运算子不能用在浮点数运算上。 See also - division 语法参考主页面 本页由热血青年 LBU 译自英文版。 The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the […]


  • 加, 减, 乘, 除 运算子

    加, 减, 乘, 除 运算子

    描述 这些运算子各会回传两个运算元之加总值、差值、乘积值、商数值,这些运算将会继承运算元的资料型别,举个例子 9 / 4 = 2,9 与 4 都是 int 型别,所以结果 2 也是 int 型别(正确的值应为 2.5,但因 int 型别无条件舍去了小数点以后的数值,所以得到 2);如果运算结果大于资料型别可以表示的范围,就会发生 溢位 (例如:对值为 32767 的 short 资料型别加 1,其值就会溢位而得到 -32768);因此,运算式中若有不同资料型别的运算元,可能需要选择资料型别较大的那一个来储存计算结果。 在运算式中,只要任一个运算元的型别为浮点数 float 或者倍准浮点数 double,则计算结果会以浮点数来表示。 范例 语法 result = value1 + value2; result = value1 - value2; result = value1 * value2; result = value1 / value2; 参数 […]