凌云的博客

行胜于言

数据处理和表示

分类:data| 发布时间:2025-01-28 10:35:00

布尔代数

二进制值是计算机编码、存储和操作的核心。

布尔代数的常见运算有:

~
0 1
1 0

& 0 1
0 0 0
1 0 1

| 0 1
0 0 1
1 1 1

异或

^ 0 1
0 0 1
1 1 0

布尔代数和整数环

整数运算和布尔代数之间有许多相似点,同时也有一些重要的不同之处。 特别地,整数集合,用 Z 来表示,形成了一个称为环的数据结构,表示为 <Z, +, ×, -, 0, 1>,其中加法称为求和运算,乘法为求积运算,减号作为加法的逆运算,而元素 0 和 1 作为加法和乘法的单位元。 布尔代数<{0,1}, |, &, ~, 0, 1> 有相似的属性。

共有属性

属性 整数环 布尔代数
交换性 a+b=b+a
a×b=b×a
a|b=b|a
a&b=b&a
结合性 (a+b)+c=a+(b+c)
(a×b)×c=a×(b×c)
(a|b)|c=a|(b|c)
(a&b)&c=a&(b&c)
分配性 a×(b+c)=a×b+a×c a&(b|c)=(a&b)|(a&c)
同一性 a+0=a
a×1=a
a|0=a
a&1=a
消除性 a×0=0 a&0=0
相消性 -(-a)=a ~(~a)=a

环的特性

属性 整数环
相逆性 a+-a=0

布尔代数的特性

属性 布尔代数
分配性 a|(b&c)=(a|b)&(a|c)
相补性 a|~a=1
a&~a=0
幂等性 a&a=a
a|a=a
吸收性 a|(a&b)=a
a&(a|b)=a
DeMorgan定律 ~(a&b)=~a|b
(a|b)=~a&~b

模数运算

模数运算也构成一个环,对于模数 n,代数被表示为 <Zn +n, ×n, -n, 0, 1>,其中各部分定义如下:

符号定义
Zn{0,1,...,n-1}
a+nba+b mod n
a-nba-b mod n
-na { 0, a=0 n-a, a>0