อ่าน 19 นาที
ไบต์
ไบต์เป็น หน่วยข้อมูลดิจิทัล ที่โดยทั่วไปประกอบด้วย 8 บิต ใน อดีต ไบต์เป็นจำนวนบิตที่ใช้ในการเข้ารหัสอักขระข้อความหนึ่ง ตัว ในคอมพิวเตอร์ [ 1 ] [ 2 ] และด้วยเหตุนี้จึงเป็นหน่วย...
ไบต์
| ไบต์ | |
|---|---|
| ระบบหน่วย | หน่วยที่ได้มาจากบิต |
| หน่วยของ | ข้อมูลดิจิทัล ขนาดข้อมูล |
| เครื่องหมาย | B, o (เมื่อ 8 บิต) |
ไบต์เป็นหน่วยข้อมูลดิจิทัลที่โดยทั่วไปประกอบด้วย 8 บิตในอดีต ไบต์เป็นจำนวนบิตที่ใช้ในการเข้ารหัสอักขระข้อความหนึ่งตัวในคอมพิวเตอร์[ 1 ] [ 2 ]และด้วยเหตุนี้จึงเป็นหน่วยความจำ ที่เล็กที่สุด ที่สามารถระบุตำแหน่งได้ในสถาปัตยกรรมคอมพิวเตอร์ หลายแบบ เพื่อแยกไบต์ที่มีขนาดตามอำเภอใจออกจาก คำจำกัดความ8 บิตทั่วไป เอกสารโปรโตคอล เครือข่ายเช่นโปรโตคอลอินเทอร์เน็ต ( RFC 791 ) จึงอ้างถึงไบต์ 8 บิตว่าเป็นอ็อกเท็ต [ 3 ] บิตในอ็อกเท็ตมักจะนับด้วยหมายเลขตั้งแต่ 0 ถึง 7 หรือ 7 ถึง 0 ขึ้นอยู่กับลำดับ บิต
ขนาดของไบต์นั้นขึ้นอยู่ กับ ฮาร์ดแวร์ มาโดยตลอด และไม่มีมาตรฐานที่แน่นอนที่กำหนดขนาด มีการใช้ขนาดตั้งแต่ 1 ถึง 48 บิต[ 4 ] [ 5 ] [ 6 ] [ 7 ]รหัสอักขระหกบิตเป็นการใช้งานที่ใช้บ่อยในระบบการเข้ารหัสยุคแรก และคอมพิวเตอร์ที่ใช้ไบต์หกบิตและเก้าบิตเป็นเรื่องปกติในทศวรรษ 1960 ระบบเหล่านี้มักมีหน่วยความจำขนาด 12, 18, 24, 30, 36, 48 หรือ 60 บิต ซึ่งสอดคล้องกับไบต์หกบิต 2, 3, 4, 5, 6, 8 หรือ 10 ไบต์ และยังคงมีอยู่ในระบบดั้งเดิมจนถึงศตวรรษที่ 21 ในยุคนี้ การจัดกลุ่มบิตในกระแสคำสั่งมักเรียกว่าพยางค์[ a ] หรือแผ่นก่อนที่คำว่าไบต์จะกลายเป็นที่นิยม
มาตรฐานโดยพฤตินัยสมัยใหม่ของแปดบิต ตามที่บันทึกไว้ใน ISO/IEC 2382-1:1993 เป็นกำลังสอง ที่สะดวก ซึ่งอนุญาตให้เข้ารหัสไบนารีค่า 0 ถึง 255 สำหรับหนึ่งไบต์ เนื่องจาก 2 ยกกำลัง 8 คือ 256 [ 8 ]มาตรฐานสากลIEC 80000-13ได้กำหนดความหมายทั่วไปนี้ไว้ แอปพลิเคชันหลายประเภทใช้ข้อมูลที่สามารถแสดงได้ในแปดบิตหรือน้อยกว่า และนักออกแบบโปรเซสเซอร์มักจะปรับให้เหมาะสมสำหรับการใช้งานนี้ ความนิยมของสถาปัตยกรรมคอมพิวเตอร์เชิงพาณิชย์หลัก ๆ ได้ช่วยให้การยอมรับไบต์ 8 บิตแพร่หลาย[ 9 ]สถาปัตยกรรมสมัยใหม่โดยทั่วไปใช้คำ 32 หรือ 64 บิต ซึ่งสร้างจากสี่หรือแปดไบต์ตามลำดับ
สัญลักษณ์หน่วยของไบต์ถูกกำหนดให้เป็นตัวอักษร B ตัวพิมพ์ใหญ่โดยคณะกรรมการเทคนิคไฟฟ้าสากล (IEC) และสถาบันวิศวกรรมไฟฟ้าและอิเล็กทรอนิกส์ (IEEE) [ 10 ]ในระดับสากล หน่วยอ็อกเท็ตได้กำหนดลำดับของบิตแปดบิตไว้อย่างชัดเจน ซึ่งช่วยขจัดความกำกวมที่อาจเกิดขึ้นของคำว่า "ไบต์" [ 11 ] [ 12 ]สัญลักษณ์สำหรับอ็อกเท็ต 'o' ยังช่วยขจัดความกำกวมในสัญลักษณ์ 'B' ระหว่างไบต์และbelได้ อย่างสะดวก
ที่มาและประวัติความเป็นมา
คำว่าbyteถูกบัญญัติโดยWerner Buchholzในเดือนมิถุนายน พ.ศ. 2499 [ 4 ] [ 13 ] [ 14 ] [ b ]ในช่วงการออกแบบเบื้องต้นของ คอมพิวเตอร์ IBM Stretch [ 15 ] [ 16 ] [ 1 ] [ 13 ] [ 14 ] [ 17 ] [ 18 ]ซึ่งมีการกำหนดแอดเดรสให้กับคำสั่ง bit และ variable field length (VFL) โดยมีขนาดไบต์ที่เข้ารหัสอยู่ในคำสั่ง[ 13 ]เป็นการสะกดคำว่าbite ใหม่ โดยเจตนาเพื่อหลีกเลี่ยงการเปลี่ยนแปลงโดย ไม่ได้ตั้งใจเป็นbit [ 1 ] [ 13 ] [ 19 ] [ c ]
ที่มาอีกประการหนึ่งของคำว่าไบต์สำหรับกลุ่มบิตที่มีขนาดเล็กกว่าขนาดคำของคอมพิวเตอร์ โดยเฉพาะกลุ่มสี่บิตนั้น ได้รับการบันทึกไว้โดย Louis G. Dooley ซึ่งอ้างว่าเขาเป็นผู้คิดค้นคำนี้ในขณะที่ทำงานร่วมกับJules Schwartzและ Dick Beeler ในระบบป้องกันภัยทางอากาศที่เรียกว่าSAGEที่MIT Lincoln Laboratoryในปี 1956 หรือ 1957 ซึ่งได้รับการพัฒนาร่วมกันโดยRand , MIT และ IBM [ 20 ] [ 21 ]ต่อมา ภาษาJOVIAL ของ Schwartz ได้ใช้คำนี้จริง ๆ แต่ผู้เขียนจำได้อย่างเลือนรางว่ามันมาจากAN/FSQ- 31 [ 22 ] [ 21 ]
คอมพิวเตอร์ยุคแรกใช้ การแสดงผล แบบเลขฐานสองแบบเข้ารหัสทศนิยม (BCD) สี่บิต และ รหัส หกบิตสำหรับรูปแบบกราฟิกที่พิมพ์ได้ ซึ่งใช้กันทั่วไปในกองทัพบกสหรัฐฯ ( FIELDATA ) และกองทัพเรือการแสดงผลเหล่านี้ประกอบด้วยตัวอักษรและตัวเลข รวมถึงสัญลักษณ์กราฟิกพิเศษ ชุดรหัสเหล่านี้ได้รับการขยายในปี 1963 เป็นการเข้ารหัสเจ็ดบิต เรียกว่าAmerican Standard Code for Information Interchange (ASCII) หรือFederal Information Processing Standardซึ่งเข้ามาแทนที่รหัสโทรพิมพ์ที่ไม่เข้ากันซึ่งใช้โดยหน่วยงานต่างๆ ของรัฐบาลสหรัฐฯ และมหาวิทยาลัยในช่วงทศวรรษ 1960 ASCII ประกอบด้วยการแยกความแตกต่างระหว่างตัวอักษรพิมพ์ใหญ่และพิมพ์เล็ก และชุดอักขระควบคุมเพื่ออำนวยความสะดวกในการส่งผ่านภาษาเขียน ตลอดจนฟังก์ชันของอุปกรณ์การพิมพ์ เช่น การเลื่อนหน้าและการขึ้นบรรทัดใหม่ และการควบคุมการไหลของข้อมูลทางกายภาพหรือเชิงตรรกะผ่านสื่อการส่ง[ 18 ]ในช่วงต้นทศวรรษ 1960 ขณะที่ IBM กำลังดำเนินการกำหนดมาตรฐาน ASCII อยู่นั้น IBM ก็ได้แนะนำExtended Binary Coded Decimal Interchange Code (EBCDIC) ขนาด 8 บิต ในสายผลิตภัณฑ์ System/360 ของ ตน ซึ่งเป็นการขยายจากBinary Coded Decimal (BCDIC) ขนาด 6 บิต [ d ]ที่ใช้ในเครื่องเจาะบัตรรุ่นก่อนหน้า[ 23 ] ความโดดเด่นของ System/360 นำไปสู่การนำขนาดการจัดเก็บข้อมูล 8 บิตมาใช้กันอย่างแพร่หลาย[ 18 ] [ 16 ] [ 13 ]ในขณะที่รายละเอียดแล้วรูปแบบการเข้ารหัส EBCDIC และ ASCII นั้นแตกต่างกัน
ในช่วงต้นทศวรรษ 1960 บริษัท AT&Tได้นำระบบโทรศัพท์ดิจิทัล มาใช้ใน สายส่งทางไกล โดยใช้ การเข้ารหัสแบบ μ-lawแปดบิตการลงทุนครั้งใหญ่ครั้งนี้สัญญาว่าจะลดต้นทุนการส่งข้อมูลแปดบิตลงได้
ในเล่มที่ 1 ของThe Art of Computer Programming (ตีพิมพ์ครั้งแรกในปี 1968) Donald Knuthใช้คำ ว่า byte ในคอมพิวเตอร์ MIXสมมุติของเขาเพื่อหมายถึงหน่วยที่ "บรรจุข้อมูลจำนวนหนึ่งที่ไม่ระบุ ... สามารถเก็บค่าที่แตกต่างกันได้อย่างน้อย 64 ค่า ... มากที่สุด 100 ค่าที่แตกต่างกัน ในคอมพิวเตอร์ไบนารี ไบต์จึงต้องประกอบด้วยบิตหกบิต" [ 24 ]เขาตั้งข้อสังเกตว่า "ตั้งแต่ปี 1975 เป็นต้นมา คำว่าbyteมีความหมายว่าลำดับของตัวเลขไบนารีแปดหลักอย่างแม่นยำ ... เมื่อเราพูดถึงไบต์ที่เกี่ยวข้องกับ MIX เราจะจำกัดตัวเองไว้ที่ความหมายเดิมของคำนี้ ย้อนกลับไปในยุคที่ไบต์ยังไม่ได้รับการกำหนดมาตรฐาน" [ 24 ]
การพัฒนาไมโครโปรเซสเซอร์แปดบิต ในช่วงทศวรรษ 1970 ทำให้ขนาดหน่วยความจำนี้เป็นที่นิยม ไมโครโปรเซสเซอร์อย่างเช่นIntel 8080ซึ่งเป็นรุ่นก่อนหน้าโดยตรงของ8086ก็สามารถดำเนินการกับข้อมูลสี่บิตในหนึ่งไบต์ได้จำนวนเล็กน้อย เช่น คำสั่งบวกและปรับค่าทศนิยม (DAA) ปริมาณสี่บิตมักเรียกว่านิบเบิล (nibble) หรือไนบเบิล (nybble ) ซึ่งสะดวกต่อการแสดงด้วยตัวเลขฐาน สิบหก เพียงหลักเดียว
คำว่าอ็อกเท็ตระบุขนาดแปดบิตอย่างชัดเจน[ 18 ] [ 12 ]มีการใช้กันอย่างแพร่หลายในคำจำกัดความ ของโปรโตคอล
ในอดีต คำว่าoctadหรือoctadeถูกใช้เพื่อหมายถึงแปดบิตเช่นกัน อย่างน้อยก็ในยุโรปตะวันตก[ 25 ] [ 26 ]อย่างไรก็ตาม การใช้งานแบบนี้ไม่เป็นที่นิยมอีกต่อไป ที่มาที่แท้จริงของคำนี้ไม่ชัดเจน แต่สามารถพบได้ในแหล่งข้อมูลของอังกฤษ ดัตช์ และเยอรมันในช่วงทศวรรษ 1960 และ 1970 และตลอดทั้งเอกสารเกี่ยวกับคอมพิวเตอร์เมนเฟรม ของ ฟิลิปส์
สัญลักษณ์หน่วย
สัญลักษณ์หน่วยสำหรับไบต์ถูกกำหนดไว้ในIEC 80000-13 , IEEE 1541และMetric Interchange Format [ 10 ]เป็นตัวอักษรพิมพ์ใหญ่ B
ในระบบหน่วยวัดสากล (ISQ) ตัวอักษร B ยังเป็นสัญลักษณ์ของ " เบล"ซึ่งเป็นหน่วยวัดอัตราส่วนกำลังแบบลอการิทึมที่ตั้งชื่อตามอเล็กซานเดอร์ เกรแฮม เบลล์ทำให้เกิดความขัดแย้งกับข้อกำหนดของ IEC อย่างไรก็ตาม ความเสี่ยงที่จะเกิดความสับสนนั้นมีน้อย เนื่องจากเบลเป็นหน่วยที่ใช้ไม่บ่อยนัก โดยส่วนใหญ่จะใช้ในหน่วยย่อยทศนิยม คือเดซิเบล (dB) สำหรับ การวัด ความแรงของสัญญาณและระดับความดันเสียงในขณะที่หน่วยหนึ่งในสิบของไบต์ คือ เดซิไบต์ และหน่วยย่อยอื่นๆ จะใช้เฉพาะในหน่วยอนุพันธ์ เช่น อัตราการส่งข้อมูล
ตัวอักษร o ตัวเล็กสำหรับอ็อกเทตถูกกำหนดให้เป็นสัญลักษณ์สำหรับอ็อกเทตใน IEC 80000-13 และมักใช้ในภาษาต่างๆ เช่นภาษาฝรั่งเศส[ 27 ]และยังรวมกับคำนำหน้าเมตริกสำหรับตัวคูณ เช่น ko และ Mo
หน่วยหลายไบต์
| ทศนิยม | ไบนารี | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| ค่า | ไอเอส | ค่า | อีซีอี | เจเดค | |||||
| 1000 | 10 3 | กิโลไบต์ | กิโลไบต์ | 1024 | 2 10 | คิบ | กิโลไบต์ | เคบี | กิโลไบต์ |
| 1000 2 | 10 6 | เอ็มบี | เมกะไบต์ | 1024 2 | 2 20 | มิบี | เมบิไบต์ | เอ็มบี | เมกะไบต์ |
| 1000 3 | 10 9 | สหราชอาณาจักร | กิกะไบต์ | 1024 3 | 2 30 | กิบ | กิบิไบต์ | สหราชอาณาจักร | กิกะไบต์ |
| 1000 4 | 10 12 | วัณโรค | เทราไบต์ | 1024 4 | 2 40 | ไทบี | เทบิไบต์ | วัณโรค | เทราไบต์ |
| 1000 5 | 10 15 | พีบี | เพตาไบต์ | 1024 5 | 2 50 | พีบี | เพบิไบต์ | — | |
| 1000 6 | 10 18 | อีบี | เอ็กซาไบต์ | 1024 6 | 2 60 | ไอบี | เอ็กซ์บิไบต์ | — | |
| 1000 7 | 10 21 | ซีบี | เซตตาไบต์ | 1024 7 | 2 70 | ซีบี | เซบิไบต์ | — | |
| 1000 8 | 10 24 | วายบี | ยอตตาไบต์ | 1024 8 | 2 80 | ยี่บี | โยบิไบต์ | — | |
| 1000 9 | 10 27 | อาร์บี | รอนนาไบต์ | 1024 9 | 2 90 | ซี่โครง | โรบิไบต์ | — | |
| 1000 10 | 10:30 น. | ควอเตอร์แบ็ก | เควกตะไบต์ | 1024 10 | 2 100 | ฉีบี | เคบิไบต์ | — | |
| ลำดับขนาดของข้อมูล | |||||||||
หน่วยทวีคูณของไบต์ถูกกำหนดในระบบเมตริกโดยอิงจากกำลังของ 10ตามระบบหน่วยสากล (SI) ซึ่งกำหนดตัวอย่างเช่น คำนำหน้ากิโลเป็น 1000 (10³ )เช่นเดียวกับระบบไบนารีที่อิงจากกำลังของสองในอดีต ระบบไบนารีใช้คำนำหน้าเดียวกันกับระบบเมตริก แต่มีการวัดปริมาณที่แตกต่างกัน การตั้งชื่อของระบบหลังนี้ทำให้เกิดความสับสน ระบบที่อิงจากกำลังของ 10 ใช้คำนำหน้า SI มาตรฐาน ( กิโลเมกะกิกะ ... ) และสัญลักษณ์ที่สอดคล้องกัน (k, M, G , ...) ระบบไบนารีสมัยใหม่ใช้คำนำหน้าkibi , mebi , gibiเป็นต้น และสัญลักษณ์ที่สอดคล้องกัน (Ki, Mi, Gi, ...) [ e ]การใช้งานในอดีตสำหรับระบบไบนารียังคงใช้คำนำหน้า K, M และ G
แม้ว่าความแตกต่างระหว่างการตีความแบบทศนิยมและแบบไบนารีจะค่อนข้างน้อยสำหรับกิโลไบต์ (น้อยกว่ากิบิไบต์ประมาณ 2%) แต่ระบบจะมีความคลาดเคลื่อนมากขึ้นเรื่อยๆ เมื่อหน่วยมีขนาดใหญ่ขึ้น (ความคลาดเคลื่อนสัมพัทธ์เพิ่มขึ้น 2.4% สำหรับทุกๆ สามลำดับขนาด) ตัวอย่างเช่น เทราไบต์ที่ใช้เลขยกกำลังของ 10 จะมีขนาดเล็กกว่าเทบิไบต์ที่ใช้เลขยกกำลังของ 2 ประมาณ 9%
หน่วยวัดที่อิงตามเลขยกกำลังของ 10 (คำนำหน้าหน่วย SI)
การกำหนดคำนำหน้าโดยใช้กำลังของ 10 ซึ่งกำหนดให้ 1 กิโลไบต์ (สัญลักษณ์ kB) เท่ากับ 1,000 ไบต์ ได้รับการแนะนำโดยคณะกรรมการไฟฟ้าสากล (IEC) [ 28 ]มาตรฐาน IEC กำหนดตัวคูณดังกล่าวแปดตัว จนถึง 1 ยอตตะไบต์ (YB) ซึ่งเท่ากับ 1000 8ไบต์[ 29 ]คำนำหน้าเพิ่มเติมronna-สำหรับ 1000 9และquetta-สำหรับ 1000 10ได้รับการรับรองโดยสำนักงานระหว่างประเทศว่าด้วยมาตรวัดและน้ำหนัก (BIPM) ในปี 2022 [ 30 ] [ 31 ]
คำจำกัดความนี้มักใช้สำหรับหน่วยอัตราข้อมูลในเครือข่ายคอมพิวเตอร์บัสภายใน ความเร็วในการถ่ายโอนฮาร์ดไดรฟ์และสื่อแฟลช สัญญา ISPและสำหรับความจุของสื่อจัดเก็บข้อมูลส่วนใหญ่โดยเฉพาะฮาร์ดไดรฟ์ [ 32 ] และ SSD ที่เก็บข้อมูลแบบแฟลช [ 33 ] ซีดี ดีวีดี [ 34 ]และบลูเรย์ระบบปฏิบัติการที่ใช้คำจำกัดความนี้ได้แก่ Android ( และอนุพันธ์) macOS [ 35 ] iOS [ 35 ] WatchOS Ubuntu [ 36 ] และDebian [ 37 ] ChromeOS HarmonyOSและสภาพแวดล้อมเดสก์ท็อปGnome นอกจากนี้ยังสอดคล้องกับการใช้งานอื่นๆ ของคำนำหน้า SI ใน การคำนวณ เช่นความเร็วสัญญาณนาฬิกา CPU หรือการวัด ประสิทธิภาพ
ระบบ IBM System 360 และระบบดิสก์และเทปที่เกี่ยวข้องได้กำหนดไบต์ไว้ที่ 8 บิตและบันทึกความจุเป็นหน่วยทศนิยม[ 38 ] 8-, 5 ในยุคแรก+1/4 -และ 3+ฟลอปปี้ดิสก์ขนาด 1/2 นิ้วมีความจุเป็นทวีคูณของ 1024 โดยใช้หน่วย "KB" แทนที่จะเป็น "KiB" ซึ่งมีความแม่นยำกว่า ส่วนฟลอปปี้ดิสก์ขนาดใหญ่กว่ารุ่น 8-5 นิ้ว ในภายหลังนั้นมีขนาดใหญ่กว่า+1/4 -และ 3+ฟลอปปี้ดิสก์ขนาด 1/2 นิ้วระบุความจุด้วยสัญลักษณ์แบบผสม คือ เป็นจำนวนเท่าของ 1024,000 โดยใช้ "KB" = 1024 Bและ "MB" = 1024,000 B ฟลอป ปี้ ดิสก์ รุ่นแรกๆ ขนาด 5 นิ้ว+ดิสก์ ขนาด1/4 นิ้วใช้เลขฐานสิบ แม้ว่าจะใช้เซกเตอร์ขนาด 128 ไบต์และ 256 ไบต์ก็ตาม [ 39 ]ฮาร์ดดิสก์ส่วนใหญ่ใช้บล็อกขนาด 256 ไบต์ จากนั้นจึงใช้ 512 ไบต์ ก่อนที่บล็อกขนาด 4096 ไบต์จะกลายเป็นมาตรฐาน [ 40 ]
หน่วยวัดที่อิงตามเลขยกกำลังของ 2 (คำนำหน้าหน่วยวัดตามมาตรฐาน IEC)
ระบบหน่วยที่อิงตามกำลังของ 2ซึ่ง 1 กิโลไบต์ (KiB) เท่ากับ 1,024 (เช่น2¹⁰ ) ไบต์ ถูกสร้างขึ้นโดย IEC เพื่อแก้ปัญหาความสับสนเกี่ยวกับการใช้คำนำหน้า SI ที่ไม่ถูกต้อง[ 41 ]ระบบนี้ถูกกำหนดโดยมาตรฐานสากล IEC 80000-13 ซึ่งได้รับการสนับสนุนจากหน่วยงานมาตรฐานระดับชาติและระดับนานาชาติ ( BIPM , IEC , NIST ) มาตรฐาน IEC กำหนดตัวคูณดังกล่าวไว้สิบตัว จนถึง 1 คิวบิไบต์ (QiB) เท่ากับ 1024¹⁰ ไบต์ [ 42 ] สัญลักษณ์หน่วยเหล่านี้ไม่ค่อยได้ใช้ในทางปฏิบัติ[ 43 ]ข้อยกเว้นที่น่าสังเกตคือKDEและแอปพลิเคชันที่ใช้ชุดเครื่องมือ Qtแต่แอปการตั้งค่าของ KDE อนุญาตให้เปลี่ยนไปใช้ SI ได้[ 44 ]
ธรรมเนียมการตั้งชื่อทางประวัติศาสตร์สำหรับหน่วยเดียวกัน ซึ่ง 1 กิโลไบต์ (KB) เท่ากับ 1,024 ไบต์[ 45 ] [ 46 ] [ 47 ] 1 เมกะไบต์ (MB) เท่ากับ 1024 2ไบต์ และ 1 กิกะไบต์ (GB) เท่ากับ 1024 3ไบต์ ได้รับการกล่าวถึงใน มาตรฐาน JEDEC ในช่วงทศวรรษ 1990 ซึ่งใช้สำหรับRAMมาตรฐาน JEDEC กล่าวถึงเฉพาะตัวคูณสามตัวแรก (จนถึง GB) เท่านั้น โดยไม่ได้กล่าวถึง TB และหน่วยที่ใหญ่กว่า หน่วยเหล่านี้สามารถรับรู้ได้โดยการเปรียบเทียบโดยใช้ซอฟต์แวร์ที่แตกต่างกัน บางครั้งการใช้ตัวพิมพ์ใหญ่ของ K ใน KB อาจเป็นตัวบ่งชี้ได้ แม้ว่าจะสับสนและไม่ถูกต้อง[ 48 ] แต่ ระบบปฏิบัติการMicrosoft Windows [ 49 ]และ ความจุ หน่วยความจำเข้าถึงแบบสุ่มเช่น หน่วยความจำหลักและ ขนาด แคช CPUก็ใช้แบบแผนนี้เช่นกันและในด้านการตลาดและการเรียกเก็บเงินโดยบริษัทโทรคมนาคมบางแห่ง เช่น Vodafone [ 50 ] AT&T [ 51 ] Orange [ 52 ] และ Telstra [ 53 ] สำหรับความจุในการจัดเก็บข้อมูลแบบแผนดั้งเดิมถูกใช้โดยmacOSและ iOS ผ่าน Mac OS X 10.5 Leopard และ iOS 10 หลังจากนั้นจึงเปลี่ยนไปใช้หน่วยตามกำลังของ10 [ 35 ]
หน่วยวัด
ผู้ผลิตคอมพิวเตอร์หลายรายได้กำหนดคำศัพท์เฉพาะสำหรับข้อมูลที่มีขนาดแตกต่างกัน บางครั้งอาจมีขนาดที่แตกต่างกันสำหรับคำเดียวกัน แม้แต่จากผู้ผลิตรายเดียวกันก็ตาม คำศัพท์เหล่านี้ได้แก่ดับเบิลเวิร์ดฮาล์ฟเวิร์ดลอง เวิร์ด ค วอด เวิร์ดสแล็บซูเปอร์เวิร์ดและซิลเลเบิลนอกจากนี้ยังมีคำศัพท์ที่ไม่เป็นทางการ เช่นฮาล์ฟไบต์และไนบ์เบิลสำหรับ 4 บิต และอ็อกทัล Kสำหรับ1000 8
ประวัติความเป็นมาของคำจำกัดความที่ขัดแย้งกัน

เมื่อผมเห็นโฆษณาขายฮาร์ดดิสก์ที่มีความจุ 1 เมกะไบต์ มันหมายความว่าอย่างไร? มีคำตอบที่เป็นไปได้สามข้อ และผมสงสัยว่ามีใครรู้บ้างไหมว่าคำตอบไหนถูกต้อง... จริงๆ แล้วเรื่องนี้ไม่ใช่เรื่องสำคัญมากนัก เพราะความแตกต่างระหว่างขนาดที่เล็กที่สุดกับขนาดใหญ่ที่สุดนั้นเพียงแค่ไม่ถึง 5% เท่านั้น อย่างไรก็ตาม มันคงจะดีถ้าได้รู้ว่ามาตรฐานการวัดคืออะไร หรือมีมาตรฐานการวัดอยู่หรือไม่
— อัลลัน ดี. แพรตต์ จากSmall Computers in Libraries , 1982 [ 54 ]
หน่วยความจำคอมพิวเตอร์ในปัจจุบัน[ f ] มี สถาปัตยกรรมแบบไบนารีทำให้การกำหนดหน่วยความจำโดยอิงจากกำลังของ 2 เป็นวิธีที่ใช้งานได้จริงที่สุด การใช้คำนำหน้าหน่วยเมตริกกิโลสำหรับตัวคูณไบนารี เกิดขึ้นเพื่อความสะดวก เนื่องจาก1024คือประมาณ1000 . [ 27 ]คำจำกัดความนี้เป็นที่นิยมในช่วงทศวรรษแรก ๆ ของคอมพิวเตอร์ส่วนบุคคลโดยมีผลิตภัณฑ์เช่นTandon 5 1 ⁄ 4นิ้วDD floppy format (holding( 368,640ไบต์) ถูกโฆษณาว่าเป็น "360 KB" ต่อจากนั้นข้อตกลง 1024ไบต์ อย่างไรก็ตาม ข้อตกลงนี้ไม่ได้เป็นสากลฟลอปปี้ดิสก์Shugart SA-400 ขนาด 5 1/4 นิ้วจุได้ 109,375 ไบต์โดยไม่ฟอร์แมต[ 55 ]และโฆษณาว่าเป็น "110 กิโลไบต์" โดยใช้ข้อตกลง 1000 [ 56 ] ในทำนองเดียวกัน ฟลอปปี้ดิสก์ DEC RX01 ขนาด 8 นิ้ว(1975) จุได้ฟอร์แมต เป็น 256ไบต์และโฆษณาว่าเป็น "256k" [ 57 ]อุปกรณ์บางอย่างโฆษณาโดยใช้ คำจำกัดความทั้งสองแบบ ผสมกันโดยเฉพาะอย่างยิ่ง ฟลอปปี้ดิสก์ที่โฆษณาว่า "1.44 MB" มีความจุจริงเพียง1440 กิโลไบต์ซึ่งเทียบเท่ากับ 1.47 เมกะไบต์ หรือ 1.41 มิกิโลไบต์
ในปี พ.ศ. 2538 คณะกรรมการระหว่างแผนกด้านการตั้งชื่อและสัญลักษณ์ ของสหภาพเคมีบริสุทธิ์และประยุกต์ระหว่างประเทศ (IUPAC) พยายามแก้ไขความกำกวมนี้โดยเสนอชุดคำนำหน้าไบนารีสำหรับกำลังของ 1024 รวมถึง kibi (กิโลไบนารี), mebi (เมกะไบนารี) และ gibi (กิกะไบนารี) [ 58 ] [ 59 ]
ในเดือนธันวาคม พ.ศ. 2541 IECได้จัดการกับการใช้งานและคำจำกัดความที่หลากหลายดังกล่าวโดยการนำคำนำหน้าที่เสนอโดย IUPAC (kibi, mebi, gibi เป็นต้น) มาใช้เพื่อแสดงกำลังของ 10²⁴ อย่างชัดเจน[ 60 ]ดังนั้นหนึ่งกิโลไบต์ (1 KiB) คือ 10²⁴¹ ไบต์ = 10²⁴ ไบต์ หนึ่งเมบิไบต์ (1 MiB) คือ 10²⁴² ไบต์ =1,048,576 ไบต์และอื่น ๆ
ในปี พ.ศ. 2542 Donald Knuthเสนอให้เรียก kibibyte ว่า "กิโลไบต์ขนาดใหญ่" ( KKB ) [ 61 ]
คำจำกัดความมาตรฐานสมัยใหม่
IEC ได้นำข้อเสนอของ IUPAC มาใช้และเผยแพร่มาตรฐานในเดือนมกราคม พ.ศ. 2542 [ 62 ] [ 63 ]คำนำหน้าของ IEC เป็นส่วนหนึ่งของระบบปริมาณสากล IEC ยังระบุเพิ่มเติมว่ากิโลไบต์ควรใช้เพื่ออ้างถึงเท่านั้น1,000ไบต์[ 64 ]
การฟ้องร้องเกี่ยวกับนิยาม
โดยทั่วไปแล้ว คดีความที่เกิดขึ้นจากความสับสนของผู้บริโภคเกี่ยวกับนิยามเลขฐานสองและเลขฐานสิบของจำนวนทวีคูณของไบต์ มักจบลงด้วยชัยชนะของผู้ผลิต โดยศาลตัดสินว่านิยามทางกฎหมายของกิกะไบต์หรือ GB คือ 1 GB =1,000,000,000 (10⁹ ) ไบต์ (ตามนิยามเลขฐาน สิบ)แทนที่จะเป็นนิยามเลขฐานสอง ( 2³⁰เช่น1 073 741 824 ) โดยเฉพาะอย่างยิ่ง ศาลแขวงสหรัฐอเมริกาประจำเขตเหนือของแคลิฟอร์เนียได้ตัดสินว่า "รัฐสภาสหรัฐฯ ได้ถือว่าคำจำกัดความของกิกะไบต์แบบทศนิยมเป็น 'คำจำกัดความที่ต้องการ' สำหรับวัตถุประสงค์ของ 'การค้าและการพาณิชย์ของสหรัฐฯ' [...] สภานิติบัญญัติของแคลิฟอร์เนียก็ได้นำระบบทศนิยมมาใช้สำหรับ 'ธุรกรรมทั้งหมดในรัฐนี้' เช่นกัน " [ 65 ]
คดีความก่อนหน้านี้จบลงด้วยการประนีประนอมโดยไม่มีคำตัดสินของศาลในประเด็นดังกล่าว เช่น คดีฟ้องร้องผู้ผลิตไดรฟ์Western Digital [ 66 ] [ 67 ] Western Digital ยอมประนีประนอมและเพิ่มข้อความปฏิเสธความรับผิดชอบอย่างชัดเจนในผลิตภัณฑ์ว่าความจุที่ใช้งานได้อาจแตกต่างจากความจุที่โฆษณาไว้[ 66 ] Seagate ถูกฟ้องร้องในประเด็นที่คล้ายกันและก็ยอมประนีประนอมเช่นกัน[ 66 ] [ 68 ]
ตัวอย่างเชิงปฏิบัติ
| หน่วย | ค่าเทียบเท่าโดยประมาณ |
|---|---|
| นิดหน่อย | ตัวแปรบูลีนที่ระบุค่าจริง (1) หรือเท็จ (0) |
| ไบต์ | อักษรละตินพื้นฐาน |
| กิโลไบต์ | ข้อความของ " แจ็บเบอร์วอกกี้ " |
| ไอคอนเว็บไซต์ทั่วไป | |
| เมกะไบต์ | ข้อความของแฮร์รี่ พอตเตอร์กับถ้วยอัคคีภัย[ 69 ] |
| กิกะไบต์ | วิดีโอความยาวประมาณ 20 นาที บนแผ่น DVD ขนาด 4.7 GB |
| ซีดีมาตรฐาน 1½ แผ่น | |
| เทราไบต์ | ฮาร์ดไดรฟ์สำหรับผู้บริโภคที่ใหญ่ที่สุดในปี 2550 [ 70 ] |
| บลูเรย์มาตรฐาน 20 แผ่นหรือ ดีวีดี 213 แผ่น | |
| เพตาไบต์ | เพลงที่เข้ารหัสMP3 เป็นเวลา 2,000ปี[ 71 ] |
| เอ็กซาไบต์ | ปริมาณการใช้งานอินเทอร์เน็ตทั่วโลกรายเดือนในปี พ.ศ. 2547 [ 72 ] |
| เซตตาไบต์ | ปริมาณการรับส่งข้อมูลอินเทอร์เน็ตทั่วโลกต่อปีในปี 2016 (รู้จักกันในชื่อยุคเซตตาไบต์ ) [ 73 ] |
การใช้งานทั่วไป
ภาษาโปรแกรมหลาย ภาษา ได้กำหนดชนิดข้อมูลไบต์ไว้
Java [ 74 ] , .NET ( C# , F# , VB.NET ) [ 75 ] , Rust [ 76 ] , D [ 77 ] , Go [ 78 ] , Swift [ 79 ] , JavaScript [ 80 ] , Python [ 81 ] , Rubyทั้งหมดกำหนดและใช้ไบต์ 8 บิตที่สามารถเก็บค่าที่แตกต่างกันได้ 256 ค่าพอดี
ภาษาโปรแกรมCและC++ นิยาม ไบต์ว่าเป็น "หน่วยจัดเก็บข้อมูลที่สามารถระบุตำแหน่งได้ ซึ่งมีขนาดใหญ่พอที่จะเก็บสมาชิกใดๆ ของชุดอักขระพื้นฐานของสภาพแวดล้อมการทำงาน" (ข้อ 3.6 ของมาตรฐาน C) มาตรฐาน C กำหนดให้ชนิดข้อมูลจำนวนเต็มunsigned charต้องเก็บค่าที่แตกต่างกันอย่างน้อย 256 ค่า และแสดงด้วยบิตอย่างน้อยแปดบิต (ข้อ 5.2.4.2.1) การใช้งานต่างๆ ของ C และ C++ สงวนพื้นที่ 8, 9, 16, 32 หรือ 36 บิตสำหรับการจัดเก็บไบต์[ 82 ] [ 83 ] [ g ]นอกจากนี้ มาตรฐาน C และ C++ ยังกำหนดให้ไม่มีช่องว่างระหว่างสองไบต์ ซึ่งหมายความว่าทุกบิตในหน่วยความจำเป็นส่วนหนึ่งของไบต์[ 84 ]ในC++17ได้มีการแนะนำชนิดข้อมูลแบบแจงนับที่มีการแสดงพื้นฐานเป็นซึ่งstd::byteใช้unsigned charในการจำลองชุดของบิตและไม่ใช่ชนิดข้อมูลทางคณิตศาสตร์หรืออักขระ มันถูกกำหนดให้เป็น enum เพื่อป้องกันการใช้เลขคณิต แต่ไม่มีค่าคงที่ที่กำหนดไว้ (แต่ถูกใช้ในลักษณะเดียวกัน) [ 85 ]bytex{0xFF};
อย่างไรก็ตาม ซอฟต์แวร์สมัยใหม่เกือบทั้งหมดจะไม่สามารถทำงานได้จริงหากคอมไพล์ด้วยขนาดไบต์ที่ไม่ใช่ 8 บิต นอกจากนี้POSIXยังระบุว่า "ไบต์ประกอบด้วยลำดับต่อเนื่องของ 8 บิต" [ 86 ]ปัจจุบัน ไบต์ที่ไม่ใช่ 8 บิตมีการใช้งานเฉพาะกลุ่ม เช่น ในDSPเท่านั้น
ในระบบส่งข้อมูล ไบต์ถูกใช้เป็นลำดับบิตที่ต่อเนื่องกันในสตรีมข้อมูลแบบอนุกรม ซึ่งแสดงถึงหน่วยข้อมูลที่เล็กที่สุดที่สามารถแยกแยะได้ สำหรับการสื่อสารแบบอะซิงโครนัสหน่วยการส่งข้อมูลทั้งหมดมักจะรวมถึงบิตเริ่มต้น บิตหยุด 1 หรือ 2 บิต และอาจมีบิตพาริตีด้วยดังนั้นขนาดจึงอาจแตกต่างกันไปตั้งแต่เจ็ดถึงสิบสองบิตสำหรับข้อมูลจริงห้าถึงแปดบิต[ 87 ]สำหรับการสื่อสารแบบซิงโครนัสการ ตรวจสอบข้อผิดพลาดมักจะใช้ไบต์ที่ส่วนท้ายของเฟรม
ดูเพิ่มเติม
หมายเหตุ
- ^คำว่า "พยางค์" ถูกใช้สำหรับไบต์ที่ประกอบด้วยคำสั่งหรือส่วนประกอบของคำสั่ง ไม่ใช่สำหรับไบต์ข้อมูล
- ^แหล่งข้อมูลหลายแห่งระบุอย่างผิดพลาดว่าคำว่า " ไบต์" เกิดขึ้น ในเดือนกรกฎาคม ปี 1956 แต่เวอร์เนอร์ บูชโฮลซ์อ้างว่าคำนี้ถูกบัญญัติขึ้นในเดือนมิถุนายน ปี 1956อันที่จริงเอกสารที่เก่าที่สุดที่สนับสนุนข้ออ้างนี้มีอายุย้อนไปถึงวันที่ 11 มิถุนายน ปี 1956 บูชโฮลซ์กล่าวว่าการเปลี่ยนไปใช้ไบต์ 8 บิตเกิดขึ้นในเดือนสิงหาคม ปี 1956แต่เอกสารที่เก่าที่สุดที่พบซึ่งใช้แนวคิดนี้มีอายุย้อนไปถึงเดือนกันยายน ปี 1956
- ^เครื่องคอมพิวเตอร์รุ่นหลังๆ บางรุ่น เช่น Burroughs B1700 , CDC 3600 , DEC PDP-6, DEC PDP-10มีความสามารถในการประมวลผลไบต์ขนาดใดก็ได้ โดยไบต์ต้องมีขนาดไม่เกินขนาดของเวิร์ด
- ^มีหน้าโค้ด BCD มากกว่าหนึ่งหน้า
- ^สัญลักษณ์คำนำหน้าของ IEC สร้างขึ้นโดยการเติมตัวอักษร "i" ต่อท้ายสัญลักษณ์ SI ที่เกี่ยวข้อง ยกเว้น "Ki" ซึ่งมีการเปลี่ยนแปลงตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเมื่อเทียบกับตัวพิมพ์เล็ก "k" ด้วย
- ^ตลอดช่วงทศวรรษ 1970 มีเครื่องจักรที่ใช้สถาปัตยกรรมแบบทศนิยม
- ^จำนวนบิตที่ใช้จริงในการใช้งานแต่ละแบบนั้น มีการระบุไว้ใน
CHAR_BITไฟล์ limits.h
อ่านเพิ่มเติม
- "การจัดการ ข้อมูลขนาด 2.5 ไบต์" (PDF)การเขียนโปรแกรมด้วยชุดคำสั่ง PDP-10 (PDF)คู่มืออ้างอิงระบบ PDP-10 เล่มที่ 1 บริษัท ดิจิทัล อีควิซิเบิล คอร์ปอเรชั่น (DEC) สิงหาคม 1969 หน้า 2-15 – 2-17 เก็บถาวร(PDF)จากต้นฉบับเมื่อ 2017-04-05 เรียกดูเมื่อ2017-04-05
- แอชลีย์ เทย์เลอร์. "บิตและไบต์". สแตนฟอร์ด. https://web.stanford.edu/class/cs101/bits-bytes.html
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ไบต์
ไบต์เป็น หน่วยข้อมูลดิจิทัล ที่โดยทั่วไปประกอบด้วย 8 บิต ใน อดีต ไบต์เป็นจำนวนบิตที่ใช้ในการเข้ารหัสอักขระข้อความหนึ่ง ตัว ในคอมพิวเตอร์ [ 1 ] [ 2 ] และด้วยเหตุนี้จึงเป็นหน่วย...
ที่มาและประวัติความเป็นมา
คำว่า byte ถูกบัญญัติโดย Werner Buchholz ในเดือนมิถุนายน พ.ศ.
สัญลักษณ์หน่วย
สัญลักษณ์หน่วยสำหรับไบต์ถูกกำหนดไว้ใน IEC 80000-13 , IEEE 1541 และ Metric Interchange Format [ 10 ] เป็นตัวอักษรพิมพ์ใหญ่ B
หน่วยหลายไบต์
หน่วยทวีคูณ ของไบต์ถูกกำหนดในระบบเมตริกโดยอิงจาก กำลังของ 10 ตาม ระบบหน่วยสากล (SI) ซึ่งกำหนดตัวอย่างเช่น คำนำหน้า กิโล เป็น 1000 (10³ ) เช่นเดียวกับระบบไบนารีที่อิงจาก กำลังของสอง ในอดีต ระบบไบนารีใช้คำนำหน้าเดียวกันกับระบบเมตริก...