ความสับสนกับความจุ (พลังของ 10 และ 2) [ซ้ำกัน]


23

ฉันดู HDD และพบเอกสาร (จากโตชิบาลิงก์: 2.5 นิ้ว SATA HDD mq01abdxxx ) ที่บอกว่า:

"หนึ่งกิกะไบต์ (1GB) หมายถึง 10 ^ 9 = 1,000,000,000 ไบต์โดยใช้กำลัง 10 อย่างไรก็ตามระบบปฏิบัติการคอมพิวเตอร์รายงานความจุของหน่วยเก็บข้อมูลโดยใช้กำลัง 2 สำหรับคำจำกัดความ 1GB = 2 ^ 30 = 1,073,741,824 ไบต์ดังนั้นจึงแสดงพื้นที่เก็บข้อมูลน้อยลง กำลังการผลิต."

พลังของ 10 นั้นใหญ่กว่าพลังของ 2, โอเค

ตัวอย่าง 10 ^ 2 = 100 และ 2 ^ 2 = 4

แต่ฉันไม่เข้าใจเอกสารที่ระบุว่ามีความจุเท่ากัน:

1GBคือ 1,000,000,000 ไบต์ (พลังของ 10) และ 1,073,741,824 ไบต์ (พลังของ 2) จากนั้น: มันแสดงพื้นที่จัดเก็บน้อยลง (พลังของ 2) ทำไมมันถึงน้อยลง ถ้าฉันเห็นความจุของหน่วยความจำเพิ่มขึ้น 1GB ด้วยพลัง 2 จาก 10 พลัง


13
"ทำไมถึงน้อยกว่านี้ถ้าฉันเห็นความจุของหน่วยความจำเพิ่มขึ้น 1GB เป็น 2 เท่าของพลัง 10" ความสูงของคุณในหน่วยนิ้วให้จำนวนที่น้อยกว่าความสูงที่เท่ากันในหน่วยเซนติเมตรเพียงเพราะมี "ความจุความยาว" มากกว่านิ้ว ดังนั้นสำหรับค่าคงที่ที่จะแสดง: ยิ่งหน่วยใหญ่มากเท่าไหร่ตัวเลขก็จะยิ่งต่ำลง
Kamil Maciorowski

4
มันไม่น้อยกว่ามันเป็นค่าเดียวกันโดยมีสองฐานที่ต่างกัน
Ramhound

2
คุณไม่สามารถพูดได้ว่า 10 ^ 2 - 100 และ 2 ^ 2 = 4 คุณต้องคำนวณว่า 100 จะเป็น
เท่าไหร่

4
"ระบบปฏิบัติการคอมพิวเตอร์" - Mine ไม่ได้ ... หรือที่จริงแล้วมันใช้ MB (base10) ใน GUI แต่ MiB (base2) ใน CLI เพียงเพื่อให้สิ่งที่น่าสนใจ
marcelm

2
พวกเขากำลังพูดว่า "พลังของ 10" มีขนาดเล็กกว่าพลังขนาดใกล้เคียงกันของ 2 เช่น 1,000 (10 ^ 3) <1024 (2 ^ 10) และ 1000000 (10 ^ 6) <1048576 (2 ^ 20) ดังนั้นสำหรับผู้ผลิตไดรฟ์ฮาร์ดไดรฟ์ 1 เทราไบต์ของคุณมี (อย่างน้อย) 1,000,000,000 ไบต์ (และจริง ๆ อีกเล็กน้อย) ในขณะที่การรายงานยูทิลิตี้ของระบบปฏิบัติการบนพื้นที่ 1 เทราไบต์คือ 1,099,511,627,776 ไบต์ ดังนั้นระบบปฏิบัติการจะรายงานฮาร์ดไดรฟ์ 1Tb ของคุณเป็น 931Gb หรือมากกว่านั้น (หรืออาจจะไม่เห็น @marcelm ด้านบน.)
davidbak

คำตอบ:


58

เหตุผลทางประวัติศาสตร์ของการใช้กำลัง 2 คือหน่วยความจำและฮาร์ดดิสก์สามารถเข้าถึงได้โดย CPU โดยใช้พื้นที่ที่อยู่ซึ่งประกอบด้วยบรรทัดในรหัสไบนารี่ ผู้ผลิตฮาร์ดแวร์ตัดสินใจชื่อด้วยวิธีนี้:

2^10 = 1024 and as it's almost 1000 then call it 1 Kilobyte

2^20 = 1048576 bytes and as it's almost 1000000 then call it 1 Megabyte

สำหรับผู้ใช้ปกติมันไร้สาระและยุ่งยาก นอกจากนี้คำนำหน้า "kilo", "mega" ฯลฯ ยังขัดแย้งกับมาตรฐานระบบหน่วยสากล (SI) ที่ "1 กิโลวัตต์" หมายถึง 10 ^ 3 หรือ 1,000 วัตต์

เพื่อแก้ปัญหาที่เกิดขึ้นในปี 2000 The International Electrotechnical Commissionหรือ IEC เสนอโครงการสัญกรณ์สำหรับหน่วยงานที่อยู่ในอำนาจของ 2 บนบรรทัดฐานมาตรฐาน ISO / IEC 80000-13

ชื่อใหม่ถูกสร้างขึ้นโดยแทนที่พยางค์ที่สองในชื่อเก่าด้วย 'bi' (อ้างอิงถึง '2') กิโลไบต์จะต้องเป็นตอนนี้กิบิไบต์และอื่น ๆ หน่วยใหม่ยังมีสัญลักษณ์ที่สอดคล้องกันดังนั้น '10 กิบิไบต์' ถูกเขียนขึ้นในขณะนี้เป็น10 กิโลแทน10 กิโลไบต์ นี่คือตารางการติดต่อ:

Notation      Symbol    Value
1 kilobyte    1 kB      10^3  = 1000 bytes
1 megabyte    1 MB      10^6  = 1000000 bytes
1 gigabyte    1 GB      10^9  = 1000000000 bytes
1 terabyte    1 TB      10^12 = 1000000000000 bytes


1 kibibyte    1 KiB     2^10 = 1024 bytes
1 mebibyte    1 MiB     2^20 = 1048576 bytes
1 gibibyte    1 GiB     2^30 = 1073741824 bytes
1 tebibyte    1 TiB     2^40 = 1099511627776 bytes

16 ปีต่อมาผู้จำหน่ายฮาร์ดแวร์และซอฟต์แวร์จำนวนมากยังคงอ้างถึงหน่วยฐาน 2 ที่มีชื่อSI “ เมกะไบต์” อาจหมายถึง 1000000 ไบต์หรือ 1048576 ไบต์

หากคุณซื้อฮาร์ดไดรฟ์ 100 GB ความจุคือ 100x10 ^ 9 หรือ 10 ^ 11 ไบต์ แต่และนี้เป็นใหญ่ แต่ระบบปฏิบัติการจะรายงานเฉพาะไดรฟ์ที่มีความจุ 93 (10^11)/(2^30)กิกะไบต์ คุณซื้อ 100 กิกะไบต์ไดรฟ์ซึ่งเทียบเท่ากับ 93 gibibyteไดรฟ์ ระบบปฏิบัติการเป็นระบบที่ใช้สัญกรณ์ผิด

ผู้ผลิตไดรฟ์ซ่อนปัญหานี้ด้วยคำเตือนและคำอธิบายที่มักนำไปสู่ข้อสรุปว่า "ความจุที่ฟอร์แมตจริงอาจน้อยกว่า"


1
ความคิดเห็นไม่ได้มีไว้สำหรับการอภิปรายเพิ่มเติม การสนทนานี้ได้รับการย้ายไปแชท
Geek

21

ในระยะสั้น: มันคือทั้งหมดที่เกี่ยวกับการตลาด

jcbermu อธิบายได้ดี แต่ฉันไม่เห็นด้วยกับเหตุผลที่อยู่เบื้องหลังทั้งหมด

ในขณะที่ระบบสารสนเทศใด ๆ ใช้ระบบไบนารีบิตและไบต์จะถูกเขียนเป็น ^ 2 ซึ่งเป็นเรื่องปกติ ดังนั้นจึงไม่ใช่ระบบปฏิบัติการหรือซอฟต์แวร์ที่เป็นความผิดสำหรับความสับสน ทุกอย่างเป็นเลขฐานสองที่นี่

มันเป็นความผิดของผู้ผลิต HDD ในการระบุความจุ HDD ในระบบ ^ 10 ซึ่งปล้นคุณจาก GB จริงบางส่วน HDD 20GB จริงจะสามารถจัดเก็บ 18GB และอื่น ๆ ... ไดรฟ์ 1TB จะเป็นจริงของ ~ 930GB การเยาะเย้ย 'bibyte' ถูกคิดค้นขึ้นเพื่อพยายามป้องกันความสับสนบางอย่าง แต่ก็ล้มเหลวอย่างสิ้นเชิงที่จะนำมาใช้จริง


10
เป็นเพราะไบต์บนดิสก์ "ตัดสินหลังจากจัดส่ง"
davidbak

2
จริง ฉันไม่เคยได้ยินใครพูดว่า "ฉันได้อัปเกรดเป็น 16 gibi RAM" ฉันไม่คิดว่าผู้ผลิตจะต้องรับผิดชอบเรื่องระเบียบ แต่พวกเขาก็ทำกำไรได้แน่นอน ย้อนกลับไปในยุค 80 และ 90 ผู้ใช้คอมพิวเตอร์รู้ว่าอะไรคือความแตกต่างระหว่างกิโลกรัมกับกิโลไบต์และเพราะอะไร ทุกวันนี้ใครจะรู้ว่าคอมพิวเตอร์ทำงานบนไบนารีเลขคณิต
รอว์ลีย์

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

1
-1 แย่มาก It's the fault of HDD manufacturers to state the HDD capacities in ^10 system, which robs you of quite some practical GB.ไม่สิ่งเหล่านั้นไม่เป็นความจริง ผู้ผลิต HD เป็นผู้ที่ทำสิ่งนั้นถูกต้องมาตลอดโดยใช้คำจำกัดความที่ถูกต้องของหน่วย ไม่ใช่ความผิดของพวกเขาที่นักพัฒนาผู้ผลิตหน่วยความจำและบุคคลอื่นใช้หน่วย SI อย่างไม่ถูกต้อง และแน่นอนว่าพื้นที่หน่วยเก็บข้อมูลที่วัดนั้นไม่ได้ "ปล้นคุณจาก GB ที่ใช้งานได้จริง" หรือเปลี่ยนแปลงความจุในทุก ๆ ทาง
HopelessN00b

1
@pipe: ฟลอปปี้ 720KB มีจำนวนบล็อก 1,440 บล็อกที่มีขนาด 512 ไบต์ต่อบล็อก เช่นเดียวกันกับขนาดอื่น ๆ ที่วัดเป็น KB เท่าที่ฉันสามารถบอกได้ความหมายทั่วไปของ "MB" ที่มีสื่อเก็บข้อมูลแม่เหล็กคือ 1,024,000 ไบต์ทำให้ฟลอปปี้ 1.44MB มีขนาดใหญ่เป็นสองเท่าของ 720KB
supercat

16

คำตอบของ jcbermuนั้นดี แต่ฉันต้องการที่จะเข้าใกล้สิ่งนี้จากมุมที่แตกต่าง

1GB คือ 1,000,000,000 ไบต์ (พลังของ 10) และ 1,073,741,824 ไบต์ (พลังของ 2) จากนั้น: มันแสดงพื้นที่จัดเก็บน้อยลง (พลังของ 2) ทำไมมันถึงน้อยลง ถ้าฉันเห็นความจุของหน่วยความจำเพิ่มขึ้น 1GB ด้วยพลัง 2 จาก 10 พลัง

สื่อจัดเก็บข้อมูล - สื่อเก็บข้อมูลใด ๆ - สามารถเก็บจำนวนบิตที่เข้าถึงได้เฉพาะ โดยทั่วไปแล้วใช้ในการคำนวณทั่วไปมันจะแสดงเป็นไบต์หรือหลายไบต์ แต่ถ้าคุณเริ่มดูตัวอย่างเช่นหน่วยความจำ ICs (วงจรรวม, ชิป) คุณจะเห็นความจุหน่วยความจำของพวกเขาแสดงในรูปของบิตที่เข้าถึงได้

ฮาร์ดดิสก์จะเก็บจำนวนบิตหรือไบต์เฉพาะซึ่งด้วยเหตุผลทางเทคนิคได้รับการแก้ไขในแง่ของเซกเตอร์ ตัวอย่างเช่นไดรฟ์ 4 TB อาจมีเซ็กเตอร์ 7,814,037,168 หน่วยที่มีขนาด 512 ไบต์แต่ละอันทำงานได้กับพื้นที่จัดเก็บ 4,000,787,030,016 ไบต์ นั่นคือสิ่งที่คุณได้รับ (ในทางปฏิบัติคุณจะสูญเสียข้อมูลบางส่วนของข้อมูลการทำบัญชีของคอมพิวเตอร์เช่นระบบไฟล์, เจอร์นัล, การแบ่งพาร์ติชั่น ฯลฯ อย่างไรก็ตามไบต์ยังคงอยู่ที่นั่นคุณไม่สามารถใช้มันเพื่อจัดเก็บไฟล์ได้ ข้อมูลที่ช่วยให้คุณจัดเก็บไฟล์ได้อย่างมีประสิทธิภาพ)

แน่นอนว่าจำนวน 4,000,787,030,016 นั้นค่อนข้างลำบาก ด้วยเหตุผลดังกล่าวเราเลือกที่จะแสดงข้อมูลนี้ด้วยวิธีอื่น แต่ดัง jcbermu ที่แสดงเราเลือกที่จะทำในสองวิธีที่แตกต่าง: ในพลังของสิบหรืออำนาจของทั้งสอง

ในอำนาจของสิบ, 4,000,787,030,016 ไบต์คือ 4.000787030016 * 10 ^ 12 ไบต์ซึ่งรอบค่อนข้างดี; ด้วยเลขนัยสำคัญสี่ตัวจะปัดเศษเป็น 4.001 TB สำหรับคำจำกัดความ SI ของ "tera": 10 ^ 12 ฮาร์ดดิสก์ของเราสามารถเก็บได้มากกว่า 4 * 10 ^ 12 ไบต์ดังนั้นในแง่ของ SI มันเป็นอุปกรณ์เก็บข้อมูล 4 เทราไบต์

ในอำนาจของทั้งสอง 4,000,787,030,016 ไบต์คือ 3.638694607 * 2 ^ 40 ไบต์ซึ่งไม่ได้ค่อนข้างกลม นอกจากนี้ยังมีลักษณะเช่นเดียวกับปริมาณที่มีขนาดเล็กเพราะ 3.639 น้อยกว่า 4.001 และนั่นคือที่ไม่ดีสำหรับการตลาด (คนที่ต้องการที่จะซื้อไดรฟ์ 3.6 TB เมื่อผู้ผลิตประตูถัดไปขายไดรฟ์ 4.0 TB ในราคาเดียวกัน?) นี่คือคำนำหน้าไบนารี 3.6 "tebibytes" โดยที่ "bi" ระบุว่าเป็นปริมาณฐานสอง

ในความเป็นจริงมันมีจำนวนไบต์เท่ากันทุกประการ จำนวนจะแสดงแตกต่างกันเท่านั้น! ถ้าคุณทำคณิตศาสตร์อีกครั้งคุณจะเห็นว่า 3.638694607 * 2 ^ 40 = 4.000787030016 * 10 ^ 12 ดังนั้นคุณจะได้พื้นที่จัดเก็บเท่าเดิม


1
อธิบายได้อย่างชัดเจน แต่จำนวนของเซกเตอร์ (เช่น 7,8 [... ] ในตัวอย่างของคุณ) ได้รับการคัดเลือกจากผู้ผลิตเพื่อให้ความสามารถสิ้นสุดลงตามค่าที่ต้องการ พวกเขาสามารถสร้างรายได้ 8 พันล้านส่วน 8589934592 หรือหมายเลขอื่น ๆ เพื่อจบลงด้วยค่าความจุที่แท้จริง แต่นั่นไม่ดีสำหรับธุรกิจ เนื่องจากความแตกต่างเป็นไปได้ทางเทคนิคในฐานะผู้ผลิตฉันต้องการสร้างตลาดที่ยิ่งใหญ่: โลโก้ TrueCapacity (r) หรือ TrueSpace (r) และรับประกันได้ว่ายอดขายจะเพิ่มขึ้นเนื่องจากกลยุทธ์การตลาดนี้และผู้ผลิตรายอื่นจะ ต้องปฏิบัติตาม (และจะไม่พร้อมที่จะทำ)
Overmind

@ Overmind: นั่นเป็นเทคนิคการตลาดที่เป็นไปได้ คล้ายกับ Aerial Communications ที่มีการเรียกเก็บเงินต่อวินาที (ก่อนที่ T-Mobile จะซื้อพวกเขา) หากคุณรับผิดชอบด้านการตลาดสำหรับผู้ผลิตอุปกรณ์จัดเก็บข้อมูลฉันจะเดาได้ว่ากลยุทธ์อาจเป็นกลยุทธ์หนึ่งที่คุณตัดสินใจพิจารณาดำเนินการ
TOOGAM

ฉันพบคำตอบนี้เพื่อให้ความชัดเจนมากที่สุด (อาจ) ดังนั้นจึงไม่จำเป็นต้องเป็นพลังของ 2 จริง ๆ ? ไม่มีอะไรพิเศษเกี่ยวกับขนาดกลางส่วนใหญ่ที่เก็บเป็น 2
Abdul

1
@Abdul อุปกรณ์เก็บข้อมูลส่วนใหญ่ (สำหรับผู้บริโภค) มีความจุที่ผู้ใช้สามารถเข้าถึงได้ซึ่งไม่ใช่ไบต์ (หรือโดยปริยายด้วยบิต) ซึ่งเป็นกำลังสอง เช่นเดียวกับ Overmind ที่ระบุไว้ข้างต้นความจุที่แน่นอนของ HDD สามารถเลือกสุ่มได้เป็นส่วนใหญ่ตราบใดที่ตรงตามข้อกำหนดการทำเครื่องหมาย SSD มีแนวโน้มที่จะอยู่ใกล้กับ 2 ^ n มากขึ้นเนื่องจากชิปหน่วยความจำแฟลชทำในขนาดที่มักจะมีพลังทั้งสอง (เนื่องจากมีที่อยู่บรรทัดและสิ่งต่าง ๆ ซึ่งทำให้มีความได้เปรียบ) แต่เนื่องจาก overprovisioning ไม่ใช่ความจุแฟลชทั้งหมด จะสามารถเข้าถึงได้จากซอฟต์แวร์ภายนอกไปยังตัวควบคุมแฟลชในตัว
CVn

5

คำตอบอื่น ๆ ได้กล่าวถึงเหตุผลทางประวัติศาสตร์สำหรับความแตกต่าง แต่ดูเหมือนว่าฉันชอบที่คุณถามถึงความแตกต่างตามคณิตศาสตร์

คุณถูกต้องว่าหนึ่งพลัง 10 มีขนาดใหญ่กว่าหนึ่งพลังของ 2 และตรงกันข้ามหนึ่งกิกะไบต์ (10 ^ 9 ไบต์) มีขนาดเล็กกว่าหนึ่งกิกะไบต์ (2 ^ 30 ไบต์)

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

ทำไมขนาดของดิสก์ที่รายงานจึงมีขนาดเล็กลงเมื่อวัดเป็นกิกะไบต์ (2 ^ 30) มากกว่าเมื่อวัดเป็นกิกะไบต์ (10 ^ 9) มันเป็นธรรมชาติมากกว่าเมื่อทำการวัดปริมาณคงที่ที่หน่วยวัดขนาดใหญ่ให้จำนวนที่น้อยกว่า . ตัวอย่างเช่นให้พิจารณาความสูงเป็นนิ้วเทียบกับความสูงเป็นเซนติเมตร เนื่องจากหนึ่งนิ้วมีขนาดใหญ่กว่าหนึ่งเซนติเมตรความสูงเดียวกันจะวัดนิ้วน้อยลง (เช่น 72 นิ้ว) มากกว่าเซนติเมตร (เช่น 183 เซนติเมตร) ความสูงเป็นระยะทางกายภาพเท่ากันในทั้งสองกรณี แต่การวัดแต่ละครั้งก็ให้ตัวเลขต่างกันตามหน่วยการวัด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.