在數學中,結合律(英語:associative property)是二元運算可以有的一個性質,意指在一個包含有二個以上的可結合運算子的表示式,只要運算數的位置沒有改變,其運算的順序就不會對運算出來的值有影響。亦即,重新排列表示式中的括號並不會改變其值。例如:
上式中的括號雖然重新排列了,但表示式的值依然不變。當這在任何實數的加法上都成立時,我們說「實數的加法是一個可結合的運算」。
結合律不應該和交換律相混淆。交換律會改變表示式中運算元的位置,而結合律則不會。例如:
是一個結合律的例子,因為其中的括號改變了(且因此運算子在運算中的順序也改變了),而運算元、、則在原來的位置中。再來,
則不是一個結合律的例子,因為運算元和的位置互換了。
可結合的運算在數學中是很常見的,且事實上,大多數的代數結構確實會需要它們的二元運算是可結合的。不過,也有許多重要且有趣的運算是不可結合的;其中一個簡單的例子為向量積。
一些可結合的運算的例子如下。
- 複數和四元數的加法與乘法是可結合的。八元數的加法也是可結合的,但其乘法則是不可結合的。
- 因為線性變換是個可表示成矩陣的函數,其中的函數複合則可以用矩陣乘法來表示,立即可知矩陣乘法為可結合的。
- 若是某個集合且為所有從映射至的函數所組成的集合,則在上的函數複合的運算是可結合的:
- 。
- 更一般性地,給定四個集合、、和,且、,則
- 和前面一樣。簡單地說,映射的複合總會是可結合的。
- 給定一個有三個元素、和的集合,其運算如下:
是可結合的。不過,此運算不是可交換的。
一個在集合上的二元運算*若不滿足結合律,則稱之為不可結合的。表示成符號即為:
- 。
在此一運算下,運算的順序是有影響的。減法、除法和冪都是不可結合運算的簡單例子:
一般,當不可結合運算在一個表示出現多於一次時,括號就必須被使用來表示其運算順序。不過,數學家會對若干常見的不可結合運算採用一種特別的運算順序的規則。這單純只是個為了減少括號的語法約定。
在電腦科學中,由於採用二進位浮點數運算,因此加法不符合結合律。[1]
以下兩個運算的結果在電腦中不相等:
使用相等運算符進行比較,會傳回假(false)。