php fonksiyonu açıklama

3 Cevap php

ben bir işlevi var ama ne yaptığını almıyorum.

Aşağıda benim fonksiyonudur

// My function gets two parameters lat and long

public function generate_peano1($lat, $lon)
{
    $lat = (($lat + 90.0)/180.0 * 32767) + 16384;
    $lon = ($lon + 180.0)/360.0 * 65535;

    $lat_16 = $lat&0x0000FFFF; // Not getting what is here.
    $lon_16 = $lon&0x0000FFFF; // Not getting what is here.

    $peano = self::derive_peano_32($lat_16, $lon_16);
    return $peano;

}

Teşekkürler

Avinash

3 Cevap

The & operator is the bitwise AND operator. 0x0000FFFF represents 16 unset bits (zeroes) followed by 16 set bits (ones) in hexadecimal. $lat & 0x0000FFFF will then give you the 16 least significant bits (on a little endian machine, which is the most common architecture) of $lat.

Neden burada gerekli olduğu gibi self::derive_peano_32() ne yapar bağlıdır. Ben iki 16 bitlik değerleri alır hayal ve düzenli bir 32 bit tamsayı uyacak şekilde onları bir şekilde birleştirmek istiyorum.

Bu & yapayalnız bitwise AND operator olduğunu.

$lat & 0x0000FFFF, sen operatörün her iki ayarlanır bit alırsınız kullanma; IEE, hem $lat set ve 0x0000FFFF bitler

0x0000FFFF o 1 ve diğer sete set 16 sağdaki bit var olan göz önüne 0, sen ({[ayarlanmış olan 16 sağdaki bit alırsınız 1)]} in $lat.

Bu iki satır 32bit değerlerini $ enlem ve boylam $ alarak ve 16bit değerlere onları azaltmaktadır. bitwise operators içine bir göz var.