กลับไปหน้าบทความ

อ่าน 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 210 6เอ็มบีเมกะไบต์1024 22 20มิบีเมบิไบต์ เอ็มบีเมกะไบต์
1000 310 9สหราชอาณาจักรกิกะไบต์1024 32 30กิบกิบิไบต์ สหราชอาณาจักรกิกะไบต์
1000 410 12วัณโรคเทราไบต์ 1024 42 40ไทบีเทบิไบต์ วัณโรคเทราไบต์
1000 510 15พีบีเพตาไบต์ 1024 52 50พีบีเพบิไบต์
1000 610 18อีบีเอ็กซาไบต์ 1024 62 60ไอบีเอ็กซ์บิไบต์
1000 710 21ซีบีเซตตาไบต์ 1024 72 70ซีบีเซบิไบต์
1000 810 24วายบียอตตาไบต์ 1024 82 80ยี่บีโยบิไบต์
1000 910 27อาร์บีรอนนาไบต์ 1024 92 90ซี่โครงโรบิไบต์
1000 1010:30 น.ควอเตอร์แบ็กเควกตะไบต์ 1024 102 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 14นิ้ว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 ]สำหรับการสื่อสารแบบซิงโครนัสการ ตรวจสอบข้อผิดพลาดมักจะใช้ไบต์ที่ส่วนท้ายของเฟรม

ดูเพิ่มเติม

หมายเหตุ

  1. ^คำว่า "พยางค์" ถูกใช้สำหรับไบต์ที่ประกอบด้วยคำสั่งหรือส่วนประกอบของคำสั่ง ไม่ใช่สำหรับไบต์ข้อมูล
  2. ^แหล่งข้อมูลหลายแห่งระบุอย่างผิดพลาดว่าคำว่า " ไบต์" เกิดขึ้น ในเดือนกรกฎาคม ปี 1956 แต่เวอร์เนอร์ บูชโฮลซ์อ้างว่าคำนี้ถูกบัญญัติขึ้นในเดือนมิถุนายน ปี 1956อันที่จริงเอกสารที่เก่าที่สุดที่สนับสนุนข้ออ้างนี้มีอายุย้อนไปถึงวันที่ 11 มิถุนายน ปี 1956 บูชโฮลซ์กล่าวว่าการเปลี่ยนไปใช้ไบต์ 8 บิตเกิดขึ้นในเดือนสิงหาคม ปี 1956แต่เอกสารที่เก่าที่สุดที่พบซึ่งใช้แนวคิดนี้มีอายุย้อนไปถึงเดือนกันยายน ปี 1956
  3. ^เครื่องคอมพิวเตอร์รุ่นหลังๆ บางรุ่น เช่น Burroughs B1700 , CDC 3600 , DEC PDP-6, DEC PDP-10มีความสามารถในการประมวลผลไบต์ขนาดใดก็ได้ โดยไบต์ต้องมีขนาดไม่เกินขนาดของเวิร์ด
  4. ^มีหน้าโค้ด BCD มากกว่าหนึ่งหน้า
  5. ^สัญลักษณ์คำนำหน้าของ IEC สร้างขึ้นโดยการเติมตัวอักษร "i" ต่อท้ายสัญลักษณ์ SI ที่เกี่ยวข้อง ยกเว้น "Ki" ซึ่งมีการเปลี่ยนแปลงตัวพิมพ์ใหญ่และตัวพิมพ์เล็กเมื่อเทียบกับตัวพิมพ์เล็ก "k" ด้วย
  6. ^ตลอดช่วงทศวรรษ 1970 มีเครื่องจักรที่ใช้สถาปัตยกรรมแบบทศนิยม
  7. ^จำนวนบิตที่ใช้จริงในการใช้งานแต่ละแบบนั้น มีการระบุไว้ใน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
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Byte&oldid=1360149866#8_bit "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ไบต์

ไบต์เป็น หน่วยข้อมูลดิจิทัล ที่โดยทั่วไปประกอบด้วย 8 บิต ใน อดีต ไบต์เป็นจำนวนบิตที่ใช้ในการเข้ารหัสอักขระข้อความหนึ่ง ตัว ในคอมพิวเตอร์ [ 1 ] [ 2 ] และด้วยเหตุนี้จึงเป็นหน่วย...

ที่มาและประวัติความเป็นมา

คำว่า byte ถูกบัญญัติโดย Werner Buchholz ในเดือนมิถุนายน พ.ศ.

สัญลักษณ์หน่วย

สัญลักษณ์หน่วยสำหรับไบต์ถูกกำหนดไว้ใน IEC 80000-13 , IEEE 1541 และ Metric Interchange Format [ 10 ] เป็นตัวอักษรพิมพ์ใหญ่ B

หน่วยหลายไบต์

หน่วยทวีคูณ ของไบต์ถูกกำหนดในระบบเมตริกโดยอิงจาก กำลังของ 10 ตาม ระบบหน่วยสากล (SI) ซึ่งกำหนดตัวอย่างเช่น คำนำหน้า กิโล เป็น 1000 (10³ ) เช่นเดียวกับระบบไบนารีที่อิงจาก กำลังของสอง ในอดีต ระบบไบนารีใช้คำนำหน้าเดียวกันกับระบบเมตริก...