PHP ve (ve işareti, bitli ve) işleçini anlama

kategorisi Php
Kodumda sıklıkla kullanıyorum ($var & 1), bu $vartek bir sayıysa true, bir çift sayı ise false olur.
Ama "&" bu tam olarak nasıl kullanılıyor?

Yorumlar

  • Ocak 8 düzenlendi
    İkili sistemler için temel olan iki işlem OR ve AND'tür.

    VEYA 'A açıksa veya B açıksa' anlamına gelir. Gerçek bir dünya örneği paralel olarak iki anahtar olacaktır. Her ikisi de akıma izin veriyorsa, akım geçer.

    AND, hem A hem de B açıksa 'anlamına gelir. Gerçek dünya örneği seri olarak iki anahtardır. Akım, sadece her ikisi de akıma izin veriyorsa geçer.

    Bir bilgisayarda, bunlar fiziksel anahtarlar değil, yarı iletkenler ve işlevlerine mantık kapıları denir . Anahtarlarla aynı şeyleri yaparlar - akıma tepki veriyorlar veya akıma tepki vermiyorlar.

    Tam sayılara uygulandığında, bir sayıdaki her bit, diğer sayıdaki her bit ile birleştirilir. Bu yüzden bitsel operatörleri VEYA VE VE'yi anlamak için sayıları ikiliye dönüştürmeniz, ardından eşleşen her bit çiftinde OR veya AND işlemini yapmanız gerekir.

    Bu yüzden:
    00011011 (odd number)
    AND
    00000001 (& 1)
    ==
    00000001 (results in 1)
    Buna karşılık

    00011010 (even number)
    AND
    00000001 (& 1)
    ==
    00000000 (results in 0)
    (& 1) işlemi bu nedenle AND mantığını kullanarak en sağdaki 1 ile karşılaştırır. Diğer tüm parçalar etkin bir şekilde yoksayılır, çünkü hiçbir şey VE hiçbir şey bir şey değildir. İkili bir ikili sayı da ondalık gösterimde bir ikili sayıdır (10, 2'nin katıdır).

    İkili sistemlere yapılan diğer temel işlemler NOT ve XOR'dur. NOT, 'A kapalıysa' anlamına gelir ve iki yerine yalnızca bir sinyal veya 'parametre' alan tek mantık geçidi biçimidir. XOR, 'A veya B açıksa, ancak her ikisi de değilse' anlamına gelir. Ve sonra NAND, NOR ve NXOR vardır, bunlar temel olarak sadece AND, OR ve XOR ile birleştirilmezler, yani NAND 'A ve B'nin ikisi de açık değilse ' anlamına gelir .

    Programlamada operatör
    & means AND,
    | means OR, 
    ~ means NOT, and
    ^ means XOR.
    Diğerleri bunları birleştirerek oluşturulabilir, örneğin:

    ~ (a & b) is equivalent to a NAND operation
Yorum yapmak içinOturum Açın yada Kayıt Olun .