Well, to begin with applying the mask 1111 0000 to 1101 0100 0110 0110 is
going to give you 1100000 not 110.  But you can shift the result to the
right 4  if that is the result you want.  There is no algorithm to speak
of here, just apply the mask.  Like this:

    $num = "1101010001100110";
    $mask =        "11110000";
    $result = bindec($num) & bindec($mask);
    echo decbin($result);

If you want only the second quartet of the result, do:

    $result = $result>>4;

-Rasmus

On Wed, 28 Aug 2002, David Buerer wrote:

> Here's a question,
>
> Say I have a binary number like this
>
>       1101 0100 0110 0110
>
> And I want to pull out of the binary number the third quartet (is that the
> right word)
>
> I want to know how to apply the mask
>
>       0000 1111 0000 0000
>
> to the number above so that the result would be
>       0100
>
> Likewise, given
> the number:   1101 0100 0110 0110
> and the mask  0000 0000 1111 0000
> the result    0110
>
> I suppose this is the same algorithm used to separate the host from the node
> address given an IP address and a subnet mask.  I just need to know what the
> algorithm is.
>
> Thanks
> David
>
>


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to