我了解位运算在很多低级编程方面是必需的,比如编写设备驱动程序、低级图形、通信协议包装和解码等。我已经做PHP几年了,但在PHP项目中很少见到位运算。
您能给我举例使用吗?
我了解位运算在很多低级编程方面是必需的,比如编写设备驱动程序、低级图形、通信协议包装和解码等。我已经做PHP几年了,但在PHP项目中很少见到位运算。
您能给我举例使用吗?
你可以用它来编码事物的组合,比如位掩码。基本上,它通过赋予每个比特一种含义来工作,因此如果你有一个 00000000
,每个比特都代表着一些东西,并且也是���个十进制数。比如说我有一些用户偏好需要存储,但我的数据库在存储方面非常有限。我可以简单地存储这个十进制数,并从中推导出哪些偏好被选择了,例如 9
就是 2^3
+ 2^0
,它的二进制表示是 00001001
,所以该用户偏好1和偏好4。
00000000 Meaning Bin Dec | Examples
│││││││└ Preference 1 2^0 1 | Pref 1+2 is Dec 3 is 00000011
││││││└─ Preference 2 2^1 2 | Pref 1+8 is Dec 129 is 10000001
│││││└── Preference 3 2^2 4 | Pref 3,4+6 is Dec 44 is 00101100
││││└─── Preference 4 2^3 8 | all Prefs is Dec 255 is 11111111
│││└──── Preference 5 2^4 16 |
││└───── Preference 6 2^5 32 | etc ...
│└────── Preference 7 2^6 64 |
└─────── Preference 8 2^7 128 |
更多阅读
位运算在凭证信息中非常有用。例如:
function is_moderator($credentials)
{ return $credentials & 4; }
function is_admin($credentials)
{ return $credentials & 8; }
这样,我们可以将所有凭据保存在系统中的一个简单整数数据库列中。