เหตุใดทุกอย่างในการคำนวณจึงทำงานกับเลขฐาน 2 ถึงกำลังของ x


4
  1. ขนาดแฟลชไดรฟ์ (เพิ่มขึ้นตามกำลัง 2)
  2. ขนาด RAM (เพิ่มขึ้นโดยพลังของ 2)
  3. 32 บิต, 64 บิต, 128 บิต (เพิ่มโดยอำนาจของ 2) ฯลฯ ...

บางคนสามารถอธิบายสิ่งนี้ได้ฉันคิดว่ามันอาจเกี่ยวข้องกับความเข้ากันได้ของอุปกรณ์และรหัสไบนารี่ซึ่งคุณสามารถอธิบายได้ว่าทำไมอุปกรณ์เหล่านี้ถึงต้องปฏิบัติตามลำดับรหัสไบนารี่นี้

คอมพิวเตอร์มีนิ้วกี่นิ้ว?


3
มันไม่ได้ คอมพิวเตอร์แบบไตรภาคได้รับการพัฒนาเช่นกัน
AndrejaKo

1
ในสมัยโบราณมีแม้แต่คอมพิวเตอร์ที่ใช้เลขทศนิยมเช่นเดียวกับที่มนุษย์เราทำ
DarkDust

นี่คือหนึ่งสำหรับที่อื่น - เช่น: en.wikipedia.org/wiki/Binary_numeral_system
Linker3000

คำตอบ:


12

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

ดังนั้นหนึ่งองค์ประกอบจึงสามารถแทนตัวเลข 0 และ 1 (สองค่า) เท่านั้น
หากคุณรวมสองสิ่งเข้าด้วยกันตอนนี้คุณสามารถแทน 2 ได้ถึงกำลังของสอง (สี่) ตัวเลข 0 … 3

  • ปิด, ปิด = 0
  • ปิด, เปิด = 1
  • เปิด, ปิด = 2
  • บน, บน = 3

หากคุณมีสามองค์ประกอบคุณสามารถเป็นตัวแทนของสองถึงพลังของสาม (แปด) หมายเลข 0 … 7

  • ปิด, ปิด, ปิด = 0
  • ปิด, ปิด, เปิด = 1
  • ปิด, เปิด, ปิด = 2
  • ปิด, เปิด, บน = 3
  • เปิด, ปิด, ปิด = 4
  • เปิด, ปิด, เปิด = 5
  • เปิด, ปิด, ปิด = 6
  • บน, บน, บน = 7

และอื่น ๆ

องค์ประกอบอาจเป็นทรานซิสเตอร์สวิตชิ่งหรือสิ่งที่เทียบเท่าซึ่งอยู่ในสถานะเปิดหรือปิดอาจเป็นแผ่นเล็ก ๆ ของพื้นผิวฮาร์ดดิสก์ที่เป็นแม่เหล็กแบบขนานหรือตั้งฉากกับทิศทางของการหมุน (สองสถานะ)

ดังนั้นทุกอย่างตามธรรมชาติจะถูกจัดระเบียบในพลังของทั้งสอง

เราใช้พลังเพียง 10 เพราะเรามีสิบนิ้ว (รวมถึงนิ้วโป้ง) คอมพิวเตอร์ไม่มี


7
+1 สำหรับการชี้ให้เห็นว่าคอมพิวเตอร์มีเพียง 2 นิ้ว ...
Vineet Menon

1
มันเป็นความอัปยศที่เราไม่เพียงแค่ใช้ 4 นิ้วในแต่ละมือและใช้พลัง 8
DisgruntledGoat

@DisgruntledGoat: คุณจะกำจัดอะไรไป นิ้วหัวแม่มือและกลายเป็นไม่ต่อต้าน? ทำดัชนีนิ้วและไม่ชี้? คนกลางและยอมแพ้ความโกรธเกรี้ยวบนท้องถนน? แหวนนิ้วและยอมแพ้อัตราส่วนหลัก ? พิ้งกี้และสาบานพิ้งกี้ขึ้นมา?
surfasb

1
@surfasb เอ่อ ... อะไรนะ? ฉันกำลังบอกว่าเราจะนับนิ้วหลักได้เพียง 4 นิ้วเท่านั้นไม่ตัด 2 นิ้วออก: S
DisgruntledGoat

3

ฉันจะเริ่มด้วยการตอบคำถามสุดท้ายของคุณ:

คอมพิวเตอร์มีนิ้วกี่นิ้ว?

คอมพิวเตอร์มีเพียงนิ้วเดียว ... แต่ที่ไม่ได้บอกเรื่องราวทั้งหมดตั้งแต่คอมพิวเตอร์ยังมักจะมีจำนวนมากของมือ (เช่น 32 หรือ 64 ในคอมพิวเตอร์ส่วนใหญ่;)


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

ในการใช้สถานะไม่ต่อเนื่องเหล่านี้เพื่อแสดงค่าตัวเลขเราจะเห็นว่าทรานซิสเตอร์แต่ละตัวสามารถแสดงสถานะไม่ต่อเนื่องสองสถานะ - หรือตัวเลขตั้งแต่ 0 ถึง 1 นี่เป็นส่วนหนึ่งของระบบหมายเลขฐาน 2ซึ่งทำตามขั้นตอนเดียวกับระบบฐาน 10 ของเรา และฐาน 3, 4, 5, ฐาน 16, และอื่น ๆ และสี่เป็นต้น) หากเราเป็นตัวแทนของหมายเลข 52 ในระบบตัวเลขที่หลากหลายเหล่านี้ซึ่งแต่ละหลักสามารถอยู่ในช่วงตั้งแต่ 0 ถึง N-1โดยที่N คือฐานของระบบตัวเลขเรามี:

Base 2:           1   1   0   1   0   0                 110100_2
                 2^5 2^4 2^3 2^2 2^1 2^0

Base 4:                       3   1   0                    310_4
                             4^2 4^1 4^0

Base 10:                         5    2
                               10^1 10^0                   52_10

Base 16:                         3    4                    34_16
                               16^1 16^0

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

อีกครั้งเนื่องจากเราสามารถเป็นตัวแทนเพียงสองสถานะที่ไม่ต่อเนื่องทางอิเล็กทรอนิกส์วิธีเดียวที่เราจะเป็นตัวแทนได้มากขึ้นคือการขยายสถานะเหล่านี้ด้วยสถานะ "เปิด - ปิด" เพิ่มเติมหรือโดยการเพิ่มหมายเลขฐาน -2 ในแบบคู่ขนาน นี่คือสาเหตุที่ทุกสิ่งในโลกคอมพิวเตอร์นั้นมีพลังสอง - นี่คือวิธีเดียวที่เราสามารถแสดงค่าในคอมพิวเตอร์


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

ควรสังเกตว่าเราใช้หมายเลขฐาน 2 เพราะทรานซิสเตอร์ของเรามีเพียงสองสถานะ หากเราสามารถสร้างสามสถานะ (ฉันไม่ได้พูดถึงตรรกะสามสถานะที่นี่ซึ่งใช้สถานะความต้านทานสูง) หรือทรานซิสเตอร์สี่สถานะเราก็สามารถสร้างคอมพิวเตอร์โดยใช้ระบบตัวเลขที่แตกต่างกัน

อย่างไรก็ตามไบนารี่เป็น "พยายามและเป็นจริง" และไม่มีประโยชน์จริง ๆ ในการใช้ระบบตัวเลขที่แตกต่างจากความจริงที่ว่าคุณอาจจำเป็นต้องใช้ส่วนประกอบที่แยกจากกันน้อยลงเพื่อจัดเก็บค่ามากที่สุด ตัวอย่างเช่นเมื่อเราเปลี่ยน 52 เป็นเทียบเท่า 4 ฐาน, 10 ฐานและ 16 ฐานคุณจะเห็นว่าเมื่อฐานของระบบตัวเลขเพิ่มขึ้นตามธรรมชาติจำนวนหลักของแต่ละบุคคลที่ต้องใช้ในการลดจำนวนนั้น

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


1

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

ถัดไปคือองค์ประกอบเชิงตรรกะ: ส่วนประกอบเช่นประตู (ไม่ใช่, และ, หรือ, XOR, NAND, NOR) นั้นเข้าใจง่ายและใช้งานและสามารถรวมกันเพื่อสร้างส่วนประกอบลำดับสูงขึ้น (เช่น flip-flop หรือปลายสุดขั้ว CPU) คณิตศาสตร์ที่อยู่เบื้องหลังนั้นมีความเข้าใจเป็นอย่างดี ( พีชคณิตแบบบูล )

มีคอมพิวเตอร์ที่ทำงานกับระบบทศนิยม (ระบบที่ใช้ "สิบ" ที่คุณมักจะใช้) กับคอมพิวเตอร์ที่มีชื่อเสียงที่สุดคือENIACแต่พวกเขาอาจพิสูจน์ว่าซับซ้อนและไม่มีประสิทธิภาพเกินไป


0

พวกเขาทั้งหมดขึ้นอยู่กับรหัสเลขฐานสองที่ประกอบด้วย 1 และ 0 และแต่ละบิตที่คุณเพิ่มไปยังหมายเลขไบนารีจะเพิ่มเป็นสองเท่า

1111 สามารถเป็น 0000 ถึง 1111 หรือในทศนิยม 0 ถึง 15: นี่คือชุดค่าผสม 16 ชุด

11111 ได้จาก 00000 ถึง 11111 หรือ 0 ถึง 31: นี่คือชุดค่าผสม 32 ชุดและอื่น ๆ

การทำให้ตัวเลขเป็นทศนิยมจะ "ทำให้เสีย" บางส่วนของตัวเลขเหล่านี้ที่ใช้ในระดับรหัสเครื่องเพื่อระบุที่อยู่หน่วยความจำหรือให้ข้อมูลที่เข้ารหัสดังนั้นจึงไม่มีประสิทธิภาพ


0

ข้อมูลถูกเก็บไว้ใน BIT (เลขฐานสอง)
1 เลขฐานสองสามารถมีหนึ่งใน 2 ค่า 0 หรือ 1 2 ค่าคือ 2 ^ 1

2 บิต (บิต 0 และบิต 1) สามารถเก็บ 4 ค่า 00 01 10 11 สองเท่าที่บิตหนึ่งสามารถถือได้

3 บิตสามารถเก็บได้สองเท่าของสิ่งที่ 2 บิต .. เพราะเมื่อบิตที่สามเป็น 0 ส่วนที่เหลืออีก 2 มีค่า 4 และเมื่อบิตที่สามคือ 1 ส่วนที่เหลืออีก 2 บิตมี 4 ค่า ดังนั้นสำหรับ 3 บิตเราได้ 8 ค่า 2 ^ 3 = 8

2 ^ จำนวนบิต = จำนวนของค่า

มันไม่ใช่แค่บิตที่ทำงานตามรูปแบบนั้น ของฐาน ^ n

ทศนิยมทศนิยมคุณได้รับทศนิยม 3 หลักกี่ตัว? 10 ^ 3 = 1,000 0 ถึง 999

1-999 คือ 999 ค่า และ 0 คือค่าอื่น นั่นคือค่า 1,000 0-999

เพราะจำได้ว่ามีกี่ตัวเลขระหว่าง 1 ถึง 10 (รวม)? 10. จำนวนค่าระหว่าง 0 ถึง 10 (รวม) แล้วก็มี 11 ค่า!

2 bits ถือ 4 ค่า .. แทนตัวเลข 0 ถึง 3 เช่นเดียวกับทศนิยม 2 หลักถือ 100 ค่า 0..99


-2

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

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