เลขบิต

จาก Wikipedia สารานุกรมเสรี
ข้ามไปที่การนำทางข้ามไปที่การค้นหา

ในการคำนวณ , บิตหมายเลขคือการประชุมที่ใช้ในการระบุบิตตำแหน่งในเลขฐานสองหรือภาชนะของค่าดังกล่าว หมายเลขบิตเริ่มต้นด้วยศูนย์และเพิ่มขึ้นทีละตำแหน่งสำหรับแต่ละตำแหน่งบิตที่ตามมา

บิตที่มีนัยสำคัญน้อยที่สุด[ แก้ไข]

การแทนค่าฐานสองของทศนิยม 149 โดยมีการไฮไลต์ LSB MSB ในเลขฐานสอง 8 บิตแทนค่าของทศนิยม 128 LSB แทนค่า 1

ในการคำนวณที่บิตที่สำคัญน้อยที่สุด ( LSB ) เป็นบิตตำแหน่งในไบนารี จำนวนเต็มให้มูลค่าหน่วยนั่นคือการพิจารณาว่าจำนวนจะได้หรือคี่ LSB บางครั้งเรียกว่าบิตลำดับต่ำหรือบิตขวาสุดเนื่องจากหลักการในการกำหนดตำแหน่งของการเขียนตัวเลขที่มีนัยสำคัญน้อยกว่าไปทางขวา มันจะคล้ายคลึงกับการอย่างมีนัยสำคัญน้อยหลักของทศนิยมจำนวนเต็มซึ่งเป็นหลักในการที่คนตำแหน่ง (ขวาสุด) [1]

เป็นเรื่องปกติที่จะกำหนดหมายเลขตำแหน่งให้แต่ละบิตตั้งแต่ศูนย์ถึง N-1 โดยที่ N คือจำนวนบิตในการแทนค่าฐานสองที่ใช้ โดยปกติเลขบิตเป็นเพียงเลขชี้กำลังสำหรับน้ำหนักบิตที่สอดคล้องกันในฐาน -2 (เช่นใน 2 31 ..2 0 ) ผู้ผลิตซีพียูบางรายได้กำหนดหมายเลขบิตในทางตรงกันข้าม (ซึ่งไม่เหมือนกับความแตกต่างของendianness ) ไม่ว่าในกรณีใดบิตที่มีนัยสำคัญน้อยที่สุดก็ยังคงไม่คลุมเครือเหมือนบิตหน่วย

บิตที่มีนัยสำคัญน้อยที่สุด (พหูพจน์) คือบิตของจำนวนที่ใกล้เคียงที่สุดและรวมถึง LSB ด้วย บิตที่มีนัยสำคัญน้อยที่สุดมีคุณสมบัติที่เป็นประโยชน์ในการเปลี่ยนแปลงอย่างรวดเร็วหากตัวเลขเปลี่ยนไปเล็กน้อย ตัวอย่างเช่นถ้าเพิ่ม 1 (binary 00000001) เป็น 3 (binary 00000011) ผลลัพธ์จะเป็น 4 (binary 00000100) และสามบิตที่มีนัยสำคัญน้อยที่สุดจะเปลี่ยนไป (011 ถึง 100) ในทางตรงกันข้ามบิตที่สำคัญที่สุดสามบิต (MSB) จะไม่เปลี่ยนแปลง (000 ถึง 000) เพราะความผันผวนนี้น้อยบิตอย่างมีนัยสำคัญเป็นลูกจ้างบ่อยในpseudorandom กำเนิดจำนวน , steganographicเครื่องมือฟังก์ชันแฮชและchecksums

บิตที่มีนัยสำคัญน้อยที่สุดในการถ่ายภาพดิจิทัลแบบดิจิทัล[ แก้ไข]

ในSteganographyดิจิทัลข้อความที่ละเอียดอ่อนอาจถูกปกปิดโดยการจัดการและจัดเก็บข้อมูลในส่วนที่มีนัยสำคัญน้อยที่สุดของภาพหรือไฟล์เสียง ผู้ใช้สามารถกู้คืนข้อมูลนี้ได้ในภายหลังโดยการแยกบิตที่มีนัยสำคัญน้อยที่สุดของพิกเซลที่จัดการเพื่อกู้คืนข้อความต้นฉบับ สิ่งนี้ช่วยให้การจัดเก็บหรือการถ่ายโอนข้อมูลดิจิทัลยังคงปกปิดอยู่

ไบต์ที่มีนัยสำคัญน้อยที่สุด[ แก้ไข]

LSBยังสามารถยืนอย่างมีนัยสำคัญน้อยไบต์ [2]ความหมายขนานกับข้างต้น: เป็นไบต์ (หรือออคเต็ต ) ในตำแหน่งของจำนวนหลายไบต์ซึ่งมีค่าที่เป็นไปได้น้อยที่สุด

บิตที่สำคัญที่สุด[ แก้ไข]

การแทนค่าฐานสองแบบไม่ได้ลงนามของทศนิยม 149 โดยมีการเน้น MSB MSB ในเลขฐานสอง 8 บิตที่ไม่ได้ลงชื่อแทนค่าของทศนิยม 128 LSB แทนค่า 1

ในคอมพิวเตอร์ที่บิตที่สำคัญที่สุด ( MSB ) เป็นบิตตำแหน่งในเลขฐานสองที่มีค่ามากที่สุด MSB บางครั้งเรียกว่าบิตลำดับสูงหรือบิตทางซ้ายสุดเนื่องจากหลักการในการกำหนดตำแหน่งของการเขียนตัวเลขที่มีนัยสำคัญมากขึ้นไปทางซ้าย

บิตเครื่องหมายเป็น MSB ในเลขฐานสองลงนาม ในสัญกรณ์เสริมของหนึ่งและสอง "1" หมายถึงจำนวนลบและ "0" หมายถึงจำนวนบวก

เป็นเรื่องปกติที่จะกำหนดให้แต่ละบิตเป็นหมายเลขตำแหน่งตั้งแต่ศูนย์ถึง N − 1 โดยที่ N คือจำนวนบิตในการแทนค่าฐานสองที่ใช้ โดยปกติหมายเลขบิตที่กำหนดเป็นเพียงเลขชี้กำลังสำหรับน้ำหนักบิตที่สอดคล้องกันในฐาน -2 (เช่น in ) ผู้ผลิต CPU บางรายกำหนดหมายเลขบิตแตกต่างกัน โดยไม่คำนึงถึงตัวเลขMSBยังคงเป็นบิตที่สำคัญ ที่สุด231..20

ไบต์ที่สำคัญที่สุด[ แก้ไข]

MSBยังสามารถย่อมาจาก " ไบต์ที่สำคัญที่สุด " [3]ความหมายขนานกับข้างต้น: เป็นไบต์ (หรือออกเต ) ในตำแหน่งของจำนวนหลายไบต์ซึ่งมีค่าศักย์สูงสุด

เพื่อหลีกเลี่ยงความคลุมเครือนี้มักใช้คำที่ย่อน้อยกว่า " MSbit " หรือ " MSbyte " [4] [5] [6]

ตัวอย่างจำนวนเต็มไม่ได้ลงนาม[ แก้ไข]

ตารางนี้แสดงตัวอย่างของค่าทศนิยม 149 และตำแหน่งของ LSB ในตัวอย่างนี้ตำแหน่งของค่าหน่วย (ทศนิยม 1 หรือ 0) จะอยู่ในตำแหน่งบิต 0 (n = 0) MSB ย่อมาจาก Most Significant Bit ในขณะที่ LSB ย่อมาจาก Least Significant Bit

ไบนารี (ทศนิยม: 149)10010101
น้ำหนักบิตสำหรับตำแหน่งบิตที่กำหนด n (2 n )2 72 62 52 42 32 22 12 0
ป้ายตำแหน่งบิตMSBLSB

ตำแหน่งของ LSB เป็นอิสระจากวิธีการที่ตำแหน่งบิตจะถูกส่ง (บางคนส่งระบบ MSB แรกที่คนอื่นส่ง LSB แรก) ซึ่งเป็นคำถามที่มากขึ้นของหัวข้อของendianness

บิตที่มีนัยสำคัญมากที่สุดเทียบกับน้อยที่สุดก่อน[ แก้ไข]

นิพจน์ที่สำคัญที่สุดบิตแรกและบิตที่มีนัยสำคัญน้อยที่สุดก่อนเป็นตัวบ่งชี้เกี่ยวกับลำดับของลำดับของบิตในไบต์ที่ส่งผ่านสายในโปรโตคอลการส่งหรือในสตรีม (เช่นสตรีมเสียง)

สำคัญที่สุดบิตแรกหมายความว่าบิตที่สำคัญที่สุดจะมาถึงครั้งแรกด้วยเหตุนี้เช่นจำนวนฐานสิบหก0x12, ในการเป็นตัวแทนไบนารีจะมาถึงเป็นลำดับ000100100 0 0 1 0 0 1 0

อย่างมีนัยสำคัญน้อยบิตแรกหมายถึงว่าบิตที่สำคัญน้อยที่สุดจะมาถึงครั้งแรกด้วยเหตุนี้เช่นเลขฐานสิบหกเดียวกัน0x12อีกครั้ง00010010ในการเป็นตัวแทนไบนารีจะมาถึงเป็น (ย้อนกลับ) 0 1 0 0 1 0 0 0ลำดับ

LSB เลข 0 บิต[ แก้ไข]

LSB 0: คอนเทนเนอร์สำหรับเลขฐานสอง 8 บิตโดยไฮไลต์บิตที่มีนัยสำคัญน้อยที่สุดกำหนดหมายเลขบิต 0

เมื่อการกำหนดหมายเลขบิตเริ่มต้นที่ศูนย์สำหรับบิตที่มีนัยสำคัญน้อยที่สุด (LSB) รูปแบบการกำหนดหมายเลขจะเรียกว่า "LSB 0" [7]วิธีการกำหนดหมายเลขบิตนี้มีข้อดีคือสำหรับจำนวนที่ไม่ได้ลงนามใด ๆค่าของตัวเลขสามารถคำนวณได้โดยใช้การยกกำลังกับหมายเลขบิตและฐานเป็น2 [8]ดังนั้นค่าของจำนวนเต็มไบนารีที่ไม่ได้ลงนามจึงเป็น

โดยที่b iหมายถึงค่าของบิตด้วยหมายเลขiและNหมายถึงจำนวนบิตทั้งหมด

MSB 0 bit numbering [ แก้ไข]

MSB 0: คอนเทนเนอร์สำหรับเลขฐานสอง 8 บิตที่มีบิตที่สำคัญที่สุดที่ไฮไลต์กำหนดให้เป็นหมายเลขบิต 0

ในทำนองเดียวกันเมื่อการกำหนดหมายเลขบิตเริ่มต้นที่ศูนย์สำหรับบิตที่มีนัยสำคัญที่สุด (MSB) รูปแบบการกำหนดหมายเลขจะเรียกว่า "MSB 0"

ดังนั้นค่าของจำนวนเต็มไบนารีที่ไม่ได้ลงนามจึงเป็น

อื่น ๆ[ แก้ไข]

ตัวดำเนินการelemของALGOL 68เป็น "MSB 1 bit numbering" อย่างมีประสิทธิภาพเนื่องจากบิตจะเรียงลำดับจากซ้ายไปขวาโดยบิตแรก (bits elem 1) เป็น "bit ที่สำคัญที่สุด" และนิพจน์ (bits elem bits width) ให้ "บิตที่มีนัยสำคัญน้อยที่สุด" ในทำนองเดียวกันเมื่อบิตถูกบังคับ (typecast) ไปยังอาร์เรย์ของบูลีน ([] บูลบิต) องค์ประกอบแรกของอาร์เรย์นี้ (บิต [ lwb bits]) จะเป็น "บิตที่สำคัญที่สุด" อีกครั้ง

สำหรับการกำหนดหมายเลข MSB 1 ค่าของจำนวนเต็มไบนารีที่ไม่ได้ลงชื่อคือ

PL / IตัวเลขสตริงBITเริ่มต้นด้วย 1 สำหรับบิตซ้ายสุด

Fortran BTESTฟังก์ชั่นใช้ LSB 0 หมายเลข

การใช้งาน[ แก้ไข]

น้อย endianซีพียูมักจะจ้าง "LSB 0" บิตเลขอย่างไรก็ตามทั้งการประชุมหมายเลขบิตสามารถเห็นได้ในbig-เครื่อง สถาปัตยกรรมบางอย่างเช่นSPARCและMotorola 68000ใช้การกำหนดหมายเลขบิต "LSB 0" ในขณะที่S / 390 , PowerPC และPA-RISCใช้ "MSB 0" [9]

รูปแบบที่แนะนำสำหรับเอกสารขอความคิดเห็น (RfC) คือการกำหนดหมายเลขบิต "MSB 0" [10] [11]

โดยทั่วไปการกำหนดหมายเลขบิตจะโปร่งใสสำหรับซอฟต์แวร์แต่ภาษาโปรแกรมบางภาษาเช่นAdaและภาษาอธิบายฮาร์ดแวร์เช่นVHDLและverilogอนุญาตให้ระบุลำดับบิตที่เหมาะสมสำหรับการแสดงประเภทข้อมูล [12]

ดูเพิ่มเติม[ แก้ไข]

  • ARINC 429
  • ระบบเลขฐานสอง
  • การแสดงหมายเลขลงนาม
  • ส่วนเติมเต็มของสอง
  • ความอดทน
  • ลอการิทึมฐานสอง
  • หน่วยในสถานที่สุดท้าย (ULP)
  • ค้นหาชุดแรก
  • ที่อยู่ MAC: สัญกรณ์กลับด้านบิต

อ้างอิง[ แก้ไข]

  1. ^ "IBM SNA รูปแบบบิตการสั่งซื้อเป็นตรงข้ามของ Intel ประชุม" ไมโครซอฟท์ 2014-02-23.
  2. ^ Buczynski ดอน (2002/09/05) "MSB / LSB การสอน"[ที่มาเผยแพร่เอง? ]
  3. ^ ปลุกร์กาเร็ต (กันยายน 2005) "ส่วนมากอย่างมีนัยสำคัญบิตหรือไบต์" TechTarget
  4. ^ II, Patrick J. Sweeney (2010-03-11). RFID สำหรับ Dummies จอห์นไวลีย์แอนด์ซันส์ ISBN 9781118054475.
  5. ^ "รูปแบบพระเครื่องบิตแมป" web.mit.edu . สืบค้นเมื่อ2018-02-25 .
  6. ^ "Memory MAYHEM! หน่วยความจำ, การสั่งซื้อและการจัดไบต์" www.cs.umd.edu . สืบค้นเมื่อ2018-02-25 .
  7. ^ แลงดอนเกลน G. (1982) การออกแบบคอมพิวเตอร์ . หน้า Computeach Press Inc. 52 . ISBN 0-9607864-0-6.
  8. ^ "เบอร์บิต" สืบค้นเมื่อ2021-03-30 .
  9. ^ เดวิดเจมส์โวลต์ (มิถุนายน 1990) "รถเมล์มัลติเพล็กซ์: สงครามเอนเดียนดำเนินต่อไป" IEEE ไมโคร 10 (3): 9–21. ดอย : 10.1109 / 40.56322 . ISSN 0272-1732 S2CID 24291134 บิตและแทะแรกของพวกเขามาจากชิปALUซึ่งแมปศูนย์ (0) กับบิตที่มีนัยสำคัญน้อยที่สุด (... ) นักออกแบบระดับบิ๊กเอนด์บางคน (ไม่เช่นนั้น) ยืนยันที่จะใช้สัญกรณ์ little-endian เพื่ออธิบายบิตและสัญกรณ์ big-endian เพื่ออธิบายไบต์ (... ) โปรดทราบว่า IBM (บนS / 360และ370 ) และ Hewlett-Packard (บนPA-RISC   โปรเซสเซอร์) จับคู่ศูนย์กับ MSB อย่างสม่ำเสมอ
  10. ^ ก็อตต์เกรเกอร์ (มิถุนายน 1998) "RFC 2360 - คู่มือสำหรับนักเขียนมาตรฐานอินเทอร์เน็ต" หน่วยงานวิศวกรรมอินเทอร์เน็ต (IETF) หน้า 11 . สืบค้นเมื่อ2010-02-14 . รูปแบบที่ต้องการสำหรับแผนภาพแพ็คเก็ตคือลำดับของคำที่ยาวในลำดับไบต์ของเครือข่ายโดยแต่ละคำในแนวนอนบนหน้าและหมายเลขบิตที่ด้านบน
  11. ^ "RFC 1166 - หมายเลข INTERNET" หน่วยงานวิศวกรรมอินเทอร์เน็ต (IETF) กรกฎาคม 1990 น. 1 . สืบค้นเมื่อ2014-06-11 . เมื่อใดก็ตามที่ออคเต็ตแสดงถึงปริมาณตัวเลขบิตที่เหลือมากที่สุดในแผนภาพคือลำดับสูงหรือบิตที่มีนัยสำคัญที่สุด
  12. ^ นอร์แมนเอชโคเฮน ( ม.ค. 1994) "Endian อิสระบันทึกการแสดงคำสั่ง" (PDF) Ada จดหมาย ACM SIGAda XIV (1): 27–29. ดอย : 10.1145 / 181492.181493 . ISSN 1094-3641 S2CID 31612852 สืบค้นเมื่อ2008-12-20 .   

ลิงก์ภายนอก[ แก้ไข]

  • การกำหนดหมายเลขบิตสำหรับซีพียูที่แตกต่างกัน:
    • Motorola 68000 (ส่วน "การจัดการบิต" และ "การเปลี่ยนหมายเลขบิตแบบย้อนกลับ")
    • IBM Cell Broadband Processors ("ลำดับไบต์และหมายเลขบิต")