|
|
Line 1: |
Line 1: |
| In [[computing]], '''bit numbering''' (or sometimes '''bit [[endianness]]''') is the convention used to identify the [[bit]] positions in a [[Binary numeral system|binary number]] or a container for such a value. The bit number starts with zero and is incremented by one for each subsequent bit position.
| | Hello, my title is Felicidad but I don't like when individuals use my full name. His day job is a cashier and his wage has been really fulfilling. He presently lives in Arizona and his parents reside close by. Camping is something that I've done for years.<br><br>Feel free to surf to my blog :: [http://www.creativecats.com/UserProfile/tabid/331/userId/19522/Default.aspx extended car warranty reviews] |
| | |
| ==LSB 0 bit numbering==
| |
| | |
| [[Image:Lsb0.svg|thumb|300px|right|LSB 0: A container for 8-bit binary number with the highlighted [[least significant bit]] assigned the bit number 0]]
| |
| | |
| When the bit numbering starts at zero for the [[least significant bit]] the numbering scheme is called "LSB 0".<ref>{{cite book
| |
| | author = Langdon, Glen G.
| |
| | title = Computer Design
| |
| | publisher = Computeach Press Inc
| |
| | year = 1982
| |
| | isbn = 0-9607864-0-6
| |
| | page = 52
| |
| }}</ref> This bit numbering method has the advantage that for any [[unsigned number]] the value of the number can be calculated by using [[Positional_notation#Exponentiation|exponentiation]] with the bit number and a [[Radix|base]] of 2. The value of an unsigned binary integer is
| |
| | |
| <blockquote><math> \sum_{i=0}^{N-1} a_i \cdot 2^i </math></blockquote>
| |
| | |
| where ''a<sub>i</sub>'' denotes the value of the bit with number ''i'' and ''N'' denotes the number of bits in total.
| |
| | |
| ==MSB 0 bit numbering==
| |
| | |
| [[Image:Msb0.svg|thumb|300px|right|MSB 0:A container for 8-bit binary number with the highlighted [[most significant bit]] assigned the bit number 0]]
| |
| | |
| Similarly, when the bit numbering starts at zero for the [[most significant bit]] the numbering scheme is called "MSB 0".
| |
| | |
| == Other ==
| |
| [[ALGOL 68]]'s '''elem''' operator is effectively "MSB 1 bit numbering" as the bits are numbered from left to right with the first bit (bits '''elem''' 1) being the "most significant bit" and the expression (bits '''elem''' bits width) giving the "least significant bit". Similarly when '''bits''' are coerced (cast) to an array of [[Boolean data type|Boolean]] ([]'''bool''' bits) the first element of this array (bits['''lwb''' bits]) is again the "most significant bit".
| |
| | |
| ==Usage==
| |
| | |
| [[endianness|Little-endian]] CPUs usually employ "LSB 0" bit numbering, however both bit numbering conventions can be seen in [[endianness|big-endian]] machines. Some architectures like [[SPARC]] and [[Motorola 68000]] use "LSB 0" bit numbering, while [[S/390]], PowerPC and [[PA-RISC]] use "MSB 0".<ref>{{cite journal
| |
| | author = David V. James
| |
| | title = Multiplexed buses: the endian wars continue
| |
| | journal = [[IEEE Micro]]
| |
| |date=June 1990
| |
| | volume = 10
| |
| | issue = 3
| |
| | pages = 9–21
| |
| | doi = 10.1109/40.56322
| |
| | issn = 0272-1732
| |
| | url = http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=56322
| |
| | accessdate = 2008-12-20
| |
| | quote = their first bits and [[nibble]]s came from [[arithmetic logic unit|ALU]] chips, which map zero (0) to the least significant bit. (...) some (otherwise) big-endian designers insist on using the little-endian notation to describe bits and the big-endian notation to describe bytes. (...) Note that IBM (on the [[IBM System/360|S/360]] and [[IBM System/370|370]]) and Hewlett-Packard (on the [[PA-RISC]] processor) consistently map zero to the MSB
| |
| }}</ref>
| |
| | |
| The recommended style for [[Request for Comments]] documents is "MSB 0" bit numbering.<ref>
| |
| {{cite web
| |
| | url = http://tools.ietf.org/html/rfc2360
| |
| | title = RFC 2360 - Guide for Internet Standards Writers
| |
| | first = Gregor
| |
| | last = Scott
| |
| |date=June 1998
| |
| | publisher = Internet Engineering Task Force (IETF)
| |
| | page = 11
| |
| | accessdate = 2010-02-14
| |
| | quote = The preferred form for packet diagrams is a
| |
| sequence of long words in network byte order, with each word
| |
| horizontal on the page and bit numbering at the top
| |
| }}
| |
| </ref> | |
| | |
| Bit numbering is usually transparent to the [[software]], but some programming languages like [[Ada (programming language)|Ada]] allow specifying the appropriate bit order for data type representation.<ref>{{cite journal
| |
| | author = Norman H. Cohen
| |
| | title = Endian-independent record representation clauses
| |
| | journal = Ada Letters
| |
| |date=January 1994
| |
| | volume = XIV
| |
| | issue = 1
| |
| | pages = 27–29
| |
| | issn = 1094-3641
| |
| | publisher = ACM SIGAda
| |
| | url = http://researchweb.watson.ibm.com/people/n/ncohen/EndianIndepRecRepClauses.pdf
| |
| | accessdate = 2008-12-20
| |
| | doi = 10.1145/181492.181493
| |
| }}</ref>
| |
| | |
| ==See also==
| |
| *[[Endianness]]
| |
| *[[Integer (computer science)|Integer]]
| |
| *[[Binary numeral system]]
| |
| *[[Most significant bit]]
| |
| *[[Least significant bit]]
| |
| | |
| ==References==
| |
| {{reflist}}
| |
| | |
| ==External links==
| |
| * [http://www.xcprod.com/titan/XCSB-DOC/bit_numbers.html Bit Numbers]
| |
| * Bit numbering for different CPUs:
| |
| ** [http://developer.apple.com/documentation/Mac/OSUtilities/OSUtilities-39.html Motorola 68000] ("Bit manipulation" and "Reversed Bit-Numbering" sections)
| |
| ** [http://publib.boulder.ibm.com/infocenter/systems/scope/syssw/index.jsp?topic=/eiccj/tutorial/cbet_1byteorder.html IBM Cell Broadband Processors] ("Byte ordering and bit numbering")
| |
| | |
| | |
| [[Category:Binary arithmetic]]
| |
| [[Category:Assemblers]]
| |
Hello, my title is Felicidad but I don't like when individuals use my full name. His day job is a cashier and his wage has been really fulfilling. He presently lives in Arizona and his parents reside close by. Camping is something that I've done for years.
Feel free to surf to my blog :: extended car warranty reviews