in reply to Re^59: Interleaving bytes in a string quickly
in thread Interleaving bytes in a string quickly
No. Neither Perl nor C uses the term "byte" to refer to a class of (unsigned) integers. A byte is the minimal addressable unit of memory. For the vast majority of modern, non-specialist cpus, that means 8-bits. And an 8 bit byte can vaiously contain unsigned integers 0-255, or signed integers -127-127, or 8 discrete boolean values.
Wikipedia says: The byte ... is an ordered collection of bits, in which each bit denotes the binary value of 1 or 0. The size of a byte is typically hardware dependent, but the modern de facto standard is 8 bits, as this is a convenient power of 2.
perlunicode says: Beginning with version 5.6, Perl uses logically-wide characters to represent strings internally. In future, Perl-level operations will be expected to work with characters rather than bytes. ... Under character semantics, many operations that formerly operated on bytes now operate on characters.
It makes a whole lot more sense than "a byte can be stored in 1 byte or it can be stored in multiple bytes. But when it is stored in multiple bytes it is still just 1 byte". Of course, you'll probably start talking about that pretentious term 'octet' coined to be unambiguous, but unless your using a 12-bit or 40 bit dsp, there is no ambiguity. And if you are, the term octet is meaningless.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^61: Interleaving bytes in a string quickly
by ikegami (Patriarch) on Mar 04, 2010 at 17:19 UTC | |
by Anonymous Monk on Mar 04, 2010 at 17:33 UTC | |
by ikegami (Patriarch) on Mar 04, 2010 at 17:51 UTC | |
by Anonymous Monk on Mar 04, 2010 at 18:07 UTC | |
by Anonymous Monk on Mar 04, 2010 at 18:02 UTC | |
|
Re^61: Interleaving bytes in a string quickly
by IBlowGoatsSucker (Beadle) on Mar 04, 2010 at 17:59 UTC | |
|