PHP bitsel işlemleri?

2 Cevap php

Ben bitsel işlemleri, yazma aygıt sürücüleri, düşük seviyeli grafik, iletişim protokolü paket montaj ve kod çözme gibi çok düşük seviyeli programlama için gerekli olduğunu anlıyoruz. Ben birkaç yıldır PHP yapıyorum, ben PHP projeleri çok nadiren bit işlemleri gördük.

Bana kullanım örnekleri verebilir misiniz?

2 Cevap

Eğer şeylerin kombinasyonları kodlamak için bitmasks için kullanabilirsiniz. Temelde, her bir anlam ısırdı vererek çalışır, böylece 00000000 varsa, her bir bit hem de tek bir ondalık sayı olmasının yanı sıra, bir şey ifade eder. Diyelim ki ben saklamak isteyen kullanıcılar için bazı tercihleri ​​var, ama benim veritabanı çok depolama açısından sınırlıdır diyelim. Ben sadece, örneğin, tercihleri ​​seçilen, bu gelen ondalık sayı saklamak ve elde edebileceğini 9 olan 2^3 + 2^0 olan 00001001, böylece kullanıcı tercihlerini 1 ve tercih 4'e sahiptir.

 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    |

Ek okuma

bit tabanlı işlem örneğin kimlik bilgi son derece yararlı olan

function is_moderator($credentials)
{ return $credentials & 4; }

function is_admin($credentials)
{ return $credentials & 8; }

and so on... this way we can keep simple integer in 1 database column to have all credentials in system