You are here: Re: Binary Data: Single Bits « All PHP « IT news, forums, messages
Re: Binary Data: Single Bits

Posted by Mathias K. on 03/13/07 22:22

Am Mon, 12 Mar 2007 19:56:01 +0000 schrieb Richard Brooks:

> Mathias K. said the following on 11/03/07 16:52:
>> Hello everyone!
>>
>> I'm currently dealing a lot with binary data.
>> Therefore it is sometimes that i have to read or write
>> single bits. What is the best way to do that?
>>
>> For example let it be one single byte where the first 5 bits
>> contain a certain information, and the rest belongs to the next
>> binary block.
>>
>> Now i get those 5 bits as follows: <<<PHP
>>
>> // $fp is a filepointer to an open binary file
>>
>> $byte = fread($fp, 1); // one byte
>> $bin = decbin( ord( $byte ) );
>>
>> $fivebits = bindec( substr($byte, 0, 5) );
>>
>> PHP;
>>
>> Well that seems kind of long winded to me.
>> Isn't there are better, quicker and more elegant way to do that in PHP?
>> Because right now i don't know of any.
>>
>>
>> Thanks for any hints in advance.
>>
>> ~ MK
>
> <http://theopensourcery.com/phplogic.htm>
>
> In basic terms, if you use a logic mask with a byte (being 8-bits) then
> you should be able to mask out what you need. For the first five bits
> (reading from left to right below) you'd then use the mask consisting of
> the first five numbers below added together;
>
> 7 6 5 4 3 2 1 0 Byte position
> 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 Value
>
> result = <byte we're working on> AND <mask>
>
> $result = $byte and 248
>
> Look up 'bitwise operations' for further help.
> <http://www.litfuel.net/tutorials/bitwise.htm>
>
> HTH?

I think that's exactly what i was looking for.


Thanks!

~ MK

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация