ประเภทของระบบตัวเลข วิทยาการคอมพิวเตอร์ - ระบบจำนวน ประเภทของระบบตัวเลข การแปลงตัวเลขจากไบนารีเป็นทศนิยม
ตัวอย่างของระบบจำนวนผสมคือ ระบบทศนิยมฐานสอง . ในระบบตัวเลข BCD จะมีการจัดสรรเลขฐานสอง 4 หลักสำหรับเลขฐานสิบแต่ละหลัก เนื่องจากเลขฐานสิบสูงสุด 9 จะถูกเข้ารหัสเป็น 1001 2 ตัวอย่างเช่น,
925 10 = 1001 0010 0101 2-10 .
ในที่นี้ สี่เท่าติดต่อกัน (เตตราด) ของเลขฐานสองแทนเลข 9, 2 และ 5 ของสัญลักษณ์ทศนิยม ตามลำดับ
แม้ว่าสัญกรณ์ BCD จะใช้เฉพาะตัวเลข 0 และ 1 แต่สัญกรณ์ BCD นั้นแตกต่างจากการแสดงเลขฐานสองของตัวเลขที่กำหนด ตัวอย่างเช่น รหัสไบนารี่ 1001 0010 0101 ตรงกับเลขทศนิยม 2341 ไม่ใช่ 925
ถ้า P=Q l (l เป็นจำนวนเต็มบวก) การแทนจำนวนใดๆ ในระบบจำนวนผสมจะเหมือนกันกับภาพของจำนวนนี้ในระบบตัวเลขที่มีฐาน Q ตัวอย่างของระบบจำนวนผสมดังกล่าวคือเลขฐานสอง ฐานแปดและเลขฐานสิบหกแบบไบนารี
ตัวอย่างเช่น,
A2 16 = 1,010 0010 2 = 1,010 0010 2-16
การแสดงจำนวนลบในรูปแบบจุดคงที่ (DOTS)
เพื่อให้การดำเนินการทางคณิตศาสตร์ง่ายขึ้น คอมพิวเตอร์จะใช้รหัสไบนารี่พิเศษเพื่อแสดงจำนวนลบ: ส่วนกลับและส่วนเสริม การใช้รหัสเหล่านี้ทำให้ง่ายขึ้นในการกำหนดสัญญาณของผลลัพธ์ของการดำเนินการระหว่างการบวกพีชคณิต การดำเนินการของการลบ (หรือการบวกพีชคณิต) จะลดลงเหลือเพียงการบวกทางคณิตศาสตร์ของตัวถูกดำเนินการ ทำให้ง่ายต่อการพัฒนาสัญญาณของการโอเวอร์โฟลว์ของกริดบิต เป็นผลให้อุปกรณ์คอมพิวเตอร์ที่ทำการคำนวณทางคณิตศาสตร์ง่ายขึ้น
เป็นที่ทราบกันดีว่าวิธีหนึ่งในการดำเนินการลบคือการแทนที่เครื่องหมายของ subtrahend ด้วยเครื่องหมายที่อยู่ตรงข้ามและเพิ่มลงใน minuend:
ก - ข = ก + (- ข)
สิ่งนี้จะแทนที่การดำเนินการลบเลขคณิตด้วยการดำเนินการบวกพีชคณิต ซึ่งสามารถดำเนินการได้โดยใช้ตัวบวกไบนารี
สำหรับการแสดงตัวเลขลบโดยเครื่องจักร จะใช้รหัส ตรง, เพิ่มเติม, ย้อนกลับ. คำจำกัดความที่เรียบง่ายของรหัสเหล่านี้สามารถให้ได้ดังนี้ ถ้าเลข A ในรหัสไบนารี่ธรรมดาคือ โดยตรงรหัสไบนารี่ที่แสดงเป็น
[A] pr = 0.อัน-1 อัน-2.....a1 a0,
จากนั้นตัวเลข -A ในรหัสเดียวกันจะแสดงเป็น
[-A]pr = 1.อัน-1 อัน-2.....a1 a0,
และใน ย้อนกลับ(ผกผัน) รหัสตัวเลขนี้จะมีลักษณะดังนี้:
[-A]รอบ = 1.อัน-1 อัน-2.....a1 a0,
ไอ = 1 ถ้า ไอ = 0
ไอ = 0 ถ้า ไอ = 1
กฉัน - หลัก ฉัน- ตัวเลขนั้นของเลขฐานสอง ดังนั้น เมื่อย้ายจากโค้ดโดยตรงไปเป็นโค้ดย้อนกลับ ตัวเลขทั้งหมดของบิตตัวเลข Matisse จะถูกกลับด้าน
แล้วเลข -A เข้า เพิ่มเติมรหัสจะแสดงเป็น
[-A]เพิ่ม = [-A]รอบ + 1
ดังนั้น เพื่อให้ได้รหัสเสริมของจำนวนลบ คุณต้องกลับส่วนดิจิทัลของหมายเลขเดิมก่อน จึงจะได้รหัสย้อนกลับ จากนั้นจึงบวกหนึ่งเข้ากับหลักที่มีนัยสำคัญน้อยที่สุดของส่วนดิจิทัลของตัวเลข
ได้รับรหัสเสริมของหมายเลขหนึ่งโดยแทนที่ด้วยหมายเลขใหม่ เสริมเป็นตัวเลขเท่ากับน้ำหนักของหลักที่อยู่ถัดจากหลักที่สำคัญที่สุดของตารางบิตที่ใช้แทนแมนทิสซาของตัวเลขในรูปแบบจุดคงที่ ดังนั้นรหัสตัวเลขดังกล่าวจึงเรียกว่าเพิ่มเติม
ลองจินตนาการว่าเรามีเพียงสองหลักเพื่อแสดงตัวเลขในระบบเลขฐานสิบ จากนั้นจำนวนสูงสุดที่สามารถแสดงได้คือ 99 และน้ำหนักของหลักสูงสุดที่สามที่ไม่มีอยู่จริงจะเป็น 10 2 เช่น 100 ในกรณีนี้ สำหรับเลข 20 จำนวนเสริมจะเป็น 80 ซึ่งเติมเต็ม 20 ถึง 100 (100 - 20 = 80) ดังนั้นตามนิยามแล้วลบ
สามารถแทนที่ได้ด้วยการเติม:
ในที่นี้หน่วยที่สูงที่สุดจะไปไกลกว่ากริดบิตที่จัดสรร ซึ่งเหลือเพียงหมายเลข 30 เท่านั้น เช่น ผลลัพธ์ของการลบตัวเลข 20 จาก 50
ตอนนี้เรามาดูตัวอย่างที่คล้ายกันสำหรับตัวเลขที่แสดงในรหัสไบนารี่ 4 บิต มาหาตัวเลขเพิ่มเติมสำหรับ 0010 2 = 210 เราต้องลบ 0010 จาก 0000 เราได้ 1110 ซึ่งเป็นรหัสเพิ่มเติม 2 ตัวเลขที่แสดงในวงเล็บเหลี่ยมไม่มีอยู่จริง แต่เนื่องจากเรามีตาราง 4 บิต จึงเป็นไปไม่ได้เลยที่จะดำเนินการลบดังกล่าว และยิ่งไปกว่านั้นเราจึงพยายามกำจัดการลบออก ดังนั้นจึงได้รับรหัสหมายเลขเพิ่มเติมในลักษณะที่อธิบายไว้ข้างต้นนั่นคือ ก่อนอื่นพวกเขาจะได้รับรหัสย้อนกลับของตัวเลขแล้วเพิ่ม 1 ลงไป เมื่อทำทั้งหมดนี้ด้วยหมายเลขของเรา (2) ก็ไม่ยากที่จะเห็นว่าจะได้รับคำตอบที่คล้ายกัน
ให้เราเน้นว่า รหัสส่วนเสริมของ Two และรหัสส่วนเสริมของ Two ใช้เพื่อแสดงเลขฐานสองที่เป็นลบในรูปแบบจุดคงที่เท่านั้น. ตัวเลขที่เป็นบวกในโค้ดเหล่านี้จะไม่เปลี่ยนรูปภาพและจะแสดงเหมือนกับในโค้ดโดยตรง
ดังนั้นตัวเลขดิจิทัลของจำนวนลบใน รหัสโดยตรงยังคงไม่เปลี่ยนแปลง และมีอันหนึ่งเขียนไว้ในส่วนป้าย
ลองดูตัวอย่างง่ายๆ
เจ็ดในโค้ดโดยตรงแสดงดังนี้:
ราคา = 0.0001112
หมายเลข -7 ในโค้ดโดยตรง:
[-7]ราคา = 1.0001112,
และในโค้ดย้อนกลับจะมีลักษณะเช่นนี้
[-7]รอบ = 1.1110002,
เหล่านั้น. อันจะถูกแทนที่ด้วยศูนย์และศูนย์ด้วยอัน จำนวนเดียวกันในส่วนเสริมของสองจะเป็น:
[-7]บวก = 1.1110012
ขอให้เราพิจารณาอีกครั้งว่าขั้นตอนการลบโดยใช้การเป็นตัวแทนของ subtrahend ในโค้ดส่วนเสริมของ two จะลดลงเป็นขั้นตอนการบวกได้อย่างไร ลบเลข 7 จาก 10: 10 - 7 = 3 หากตัวถูกดำเนินการทั้งสองแสดงเป็นโค้ดโดยตรง ขั้นตอนการลบจะดำเนินการดังนี้:
-1.000111
และถ้าตกอยู่ใต้อำนาจได้เช่น -7 ซึ่งแสดงอยู่ในโค้ดส่วนเสริมของสอง จากนั้นขั้นตอนการลบจะลดลงเป็นขั้นตอนการบวก:
+ 1.111001
1 0.000011 = 310.
ปัจจุบันนี้ คอมพิวเตอร์มักใช้โค้ดเสริมของ two เพื่อแสดงจำนวนลบในรูปแบบจุดคงที่
รูปแบบการแสดงตัวเลขในเครื่องดิจิทัลคือชุดของกฎที่ทำให้สามารถสร้างความสอดคล้องร่วมกันระหว่างการบันทึกตัวเลขและการเทียบเท่าเชิงปริมาณ
ภาพเครื่อง (อัตโนมัติ) ของตัวเลขมันอยู่ที่นั่น การแสดงตัวเลขในตารางบิตของเครื่องดิจิทัล. สัญลักษณ์สำหรับอิมเมจเครื่องของตัวเลข เช่น A จะแสดงเป็น [ก].
เนื่องจากคำที่เครื่องมีความยาวจำกัด ชุดตัวเลขที่สามารถแสดงในเครื่องจึงมีจำกัด การเปรียบเทียบระหว่างการแสดงตัวเลขในรูปแบบต่างๆ ในคอมพิวเตอร์มักจะดำเนินการบนพื้นฐานของการประมาณค่า ช่วงและความถูกต้องของการแสดงตัวเลข.
ในทางปฏิบัติในชีวิตประจำวัน รูปแบบที่ใช้กันมากที่สุดในการแสดงตัวเลขคือลำดับของตัวเลขที่คั่นด้วยเครื่องหมายจุลภาคให้ออกเป็นส่วนจำนวนเต็มและเศษส่วน ตัวเลขที่แสดงในแบบฟอร์มนี้เรียกว่าตัวเลข ด้วยลูกน้ำธรรมชาติหรือตัวเลขในรูปแบบธรรมชาติ. ในรูปแบบธรรมชาติ ตัวเลขจะถูกเขียนในรูปแบบธรรมชาติ เช่น 12560 เป็นจำนวนเต็ม 0.003572 เป็นเศษส่วนแท้ 4.89760 เป็นเศษส่วนเกิน
เมื่อแสดงตัวเลขในรูปแบบนี้ แต่ละหมายเลขจำเป็นต้องระบุตำแหน่งของลูกน้ำในตารางบิตที่จัดสรรเพื่อแสดงตัวเลขในเครื่อง ซึ่งต้องใช้ต้นทุนฮาร์ดแวร์เพิ่มเติมในจำนวนที่ค่อนข้างมาก ดังนั้น การแสดงรูปแบบอื่นอีกสองรูปแบบจึงแพร่หลายในคอมพิวเตอร์: มีจุดคงที่และจุดลอยตัว (จุด).
ไม่จำเป็นต้องระบุตำแหน่งของลูกน้ำหากตำแหน่งของลูกน้ำในตารางบิตของเครื่องได้รับการแก้ไขล่วงหน้าทุกครั้ง รูปแบบการแสดงตัวเลขนี้เรียกว่าการเป็นตัวแทนด้วย เครื่องหมายจุลภาคคงที่ (จุด).
เนื่องจากตัวเลขอาจเป็นค่าบวกและค่าลบ รูปแบบ (ตารางบิต) ของอิมเมจเครื่องจึงถูกแบ่งออกเป็น ส่วนที่เป็นสัญลักษณ์และ ฟิลด์ตัวเลข. ฟิลด์ตัวเลขประกอบด้วยรูปภาพของตัวเลขซึ่งเราจะเรียกตามอัตภาพ แมนทิสซาตัวเลข ในการเข้ารหัสเครื่องหมายของตัวเลข จะใช้หลักที่สำคัญที่สุดของตารางบิตที่สงวนไว้สำหรับรูปภาพของเลขฐานสอง และตัวเลขที่เหลือจะถูกจัดสรรสำหรับแมนทิสซาของตัวเลข ตำแหน่งของลูกน้ำในตารางบิตได้รับการแก้ไขอย่างเคร่งครัด โดยปกติจะอยู่ทางด้านขวาของหลักต่ำสุดของแมนทิสซา หรือทางซ้ายของค่าสูงสุด ในกรณีแรก ตัวเลขจะแสดงเป็นจำนวนเต็ม ในกรณีที่สอง - เป็นเศษส่วนแท้. ปัจจุบันคอมพิวเตอร์ส่วนใหญ่แสดงจำนวนเต็มในรูปแบบจุดคงที่
ส่วนป้ายประกอบด้วยข้อมูลเกี่ยวกับเครื่องหมายหมายเลข เป็นที่ยอมรับกันว่าป้าย จำนวนบวก "+" แสดงด้วยสัญลักษณ์ 0, และเครื่องหมายเป็นจำนวนลบ "-" แสดงด้วยสัญลักษณ์ 1.
ตัวอย่างเช่น ในโค้ดไบนารี่ เมื่อใช้กริด 6 บิต เลข 7 ในรูปแบบจุดคงที่สามารถแสดงเป็น:
โดยที่ตัวเลขทางด้านซ้ายของจุดคือเครื่องหมายของตัวเลข และตัวเลขห้าหลักทางด้านขวาของจุดคือแมนทิสซาของตัวเลขในโค้ดโดยตรง ที่นี้หมายถึงว่า เครื่องหมายจุลภาคถูกกำหนดไว้ทางด้านขวาของหลักที่มีนัยสำคัญน้อยที่สุดและจุดในรูปของตัวเลขในกรณีนี้จะแยกบิตเครื่องหมายออกจากแมนทิสซาของตัวเลข
ในอนาคต การแสดงตัวเลขประเภทนี้ในรูปแบบเครื่องจักรมักจะถูกนำมาใช้เป็นตัวอย่าง คุณสามารถใช้รูปแบบอื่นในการแสดงตัวเลขในรูปแบบเครื่อง:
โดยที่บิตเครื่องหมายคั่นด้วยวงเล็บเหลี่ยม
จำนวนหลักในตารางบิตที่จัดสรรเพื่อแสดงแมนทิสซาของตัวเลขจะกำหนดช่วงและความแม่นยำของการแทนตัวเลขจุดคงที่ เลขฐานสองสูงสุดในค่าสัมบูรณ์จะแสดงด้วยเลขฐานสองทุกหลัก ยกเว้นเครื่องหมายหนึ่ง เช่น สำหรับจำนวนเต็ม
|A|สูงสุด = (2 (n -1) - 1)
ที่ไหน n- ความยาวรวมของกริดบิต ในกรณีของกริด 16 บิต
|ก| สูงสุด = (2 (16-1) - 1) = 32767 10,
เหล่านั้น. ช่วงของการแทนจำนวนเต็มในกรณีนี้จะอยู่ระหว่าง +3276710 ถึง -3276710
สำหรับกรณีที่ลูกน้ำถูกกำหนดไว้ทางด้านขวาของเลขหลักต่ำของแมนทิสซา เช่น สำหรับจำนวนเต็ม คือตัวเลขที่มีโมดูลัสมากกว่า
(2(n-1) - 1) และน้อยกว่าหนึ่งจะไม่แสดงในรูปแบบจุดคงที่ ตัวเลขที่มีค่าสัมบูรณ์น้อยกว่าหนึ่งในหลักที่มีนัยสำคัญน้อยที่สุดของกริดบิต ในกรณีนี้เรียกว่าเครื่องเป็นศูนย์ ห้ามใช้ศูนย์ลบ
ในบางกรณี เมื่อเป็นไปได้ที่จะดำเนินการกับโมดูลัสของตัวเลขเท่านั้น ตารางบิตทั้งหมด รวมถึงบิตที่สำคัญที่สุด จะถูกจัดสรรเพื่อแสดงตัวเลข ซึ่งทำให้สามารถขยายช่วงของการแทนตัวเลขได้
แนวคิดของระบบจำนวนผสม
ในบรรดาระบบจำนวนจะมีคลาสที่เรียกว่า ระบบจำนวนผสม.
คำจำกัดความ 1
ผสมมันถูกเรียกสิ่งนี้ สัญกรณ์ซึ่งตัวเลขที่ระบุในระบบตัวเลขบางระบบที่มีฐาน $P$ จะถูกแทนด้วยตัวเลขของระบบตัวเลขอื่นที่มีฐาน $Q$ โดยที่ $Q
ยิ่งไปกว่านั้น ในระบบตัวเลขดังกล่าว เพื่อหลีกเลี่ยงความคลาดเคลื่อนในการแสดงตัวเลขแต่ละหลักของระบบด้วยฐาน $P$ จึงจัดสรรจำนวนหลักของระบบที่มีฐาน $Q$ เท่ากัน ซึ่งเพียงพอที่จะเป็นตัวแทนใดๆ หลักของระบบที่มีฐาน $P$
ตัวอย่างของระบบจำนวนผสมคือระบบฐานสอง-ทศนิยม
เหตุผลเชิงปฏิบัติสำหรับการใช้ระบบเลขฐานสอง
เนื่องจากบุคคลใช้ระบบเลขทศนิยมอย่างกว้างขวางในการปฏิบัติของเขา และโดยทั่วไปคอมพิวเตอร์ทำงานด้วยเลขฐานสองและเลขคณิตไบนารี จึงมีการนำตัวเลือกประนีประนอมมาใช้ในทางปฏิบัติ - ระบบสัญกรณ์ทศนิยมฐานสองซึ่งโดยทั่วไปจะใช้ในกรณีที่จำเป็นต้องใช้ขั้นตอนการป้อนเข้า/ส่งออกแบบทศนิยมบ่อยครั้ง (เช่น นาฬิกาอิเล็กทรอนิกส์ เครื่องคิดเลข ฯลฯ) ในอุปกรณ์ดังกล่าว ไม่แนะนำให้ใช้ไมโครโค้ดสากลในการแปลงเลขฐานสองเป็นเลขฐานสิบเสมอไป และในทางกลับกัน เนื่องจากหน่วยความจำโปรแกรมมีจำนวนน้อย
หมายเหตุ 1
ในคอมพิวเตอร์บางประเภท หน่วยลอจิกทางคณิตศาสตร์ (ALU) มีหน่วยเลขคณิตทศนิยมพิเศษที่ดำเนินการกับตัวเลขที่แสดงในรหัสทศนิยมไบนารี ซึ่งจะช่วยให้ในบางกรณีสามารถเพิ่มประสิทธิภาพคอมพิวเตอร์ได้อย่างมาก
ตัวอย่างเช่น ระบบประมวลผลข้อมูลอัตโนมัติใช้ตัวเลขจำนวนมากแต่ไม่ได้ทำการคำนวณมากนัก ในกรณีเช่นนี้ การดำเนินการถ่ายโอนหมายเลขจากระบบหนึ่งไปยังอีกระบบหนึ่งจะเกินเวลาที่ต้องใช้ในการดำเนินการประมวลผลข้อมูลอย่างมาก ในทางกลับกัน ไมโครโปรเซสเซอร์ใช้เลขฐานสองล้วนๆ แต่ยังเข้าใจคำสั่งในการแปลงเป็นเลขทศนิยมไบนารีด้วย ALU ของไมโครคอนโทรลเลอร์ AVR (เช่นเดียวกับไมโครโปรเซสเซอร์อื่น ๆ ) ดำเนินการเลขคณิตเบื้องต้นและการดำเนินการเชิงตรรกะกับตัวเลขที่แสดงในรหัสไบนารี่ ได้แก่:
อ่านผลลัพธ์ของการแปลง ADC
ในรูปแบบจำนวนเต็มหรือจุดลอยตัว ประมวลผลผลลัพธ์การวัด
อย่างไรก็ตาม ผลลัพธ์สุดท้ายจะแสดงบนตัวบ่งชี้ในรูปแบบทศนิยมที่สะดวกสำหรับการรับรู้ของมนุษย์
หลักการสร้างระบบเลขฐานสอง-ทศนิยม
เมื่อสร้างระบบเลขฐานสอง-ทศนิยม เลขฐานสอง $4$ จะถูกจัดสรรเพื่อแสดงเลขทศนิยมแต่ละหลัก เนื่องจากเลขทศนิยมสูงสุด $9$ จะถูกเข้ารหัสเป็น $10012$
ตัวอย่างเช่น: $925_(10) = 1001 0010 0101_(2-10)$
ภาพที่ 1.
ในสัญกรณ์นี้ เลขฐานสองสี่เท่าติดต่อกันแสดงถึงหลักทศนิยม $9$, $2$ และ $5$ ตามลำดับ
ในการเขียนตัวเลขในระบบเลขฐานสอง-ทศนิยม จะต้องแสดงตัวเลขในระบบฐานสิบก่อน จากนั้นเลขทศนิยมแต่ละหลักที่อยู่ในตัวเลขจะต้องแสดงในระบบไบนารี่ ในเวลาเดียวกัน ต้องใช้จำนวนเลขฐานสองที่แตกต่างกันเพื่อเขียนเลขฐานสิบที่แตกต่างกันในระบบเลขฐานสอง เพื่อหลีกเลี่ยงการใช้ตัวคั่นใดๆ เมื่อแสดงเลขทศนิยมในรูปแบบไบนารี่ จะต้องเขียนเลขฐานสอง 4 หลักเสมอ กลุ่มของตัวเลขสี่หลักนี้เรียกว่า สมุดบันทึก.
แม้ว่าสัญกรณ์ BCD จะใช้เฉพาะตัวเลข $0$ และ $1$ แต่ก็แตกต่างจากการแสดงเลขฐานสองของตัวเลขที่กำหนด เนื่องจากค่าทศนิยมที่เทียบเท่าของเลขฐานสองนั้นใหญ่กว่าค่าเทียบเท่าทศนิยมของเลข BCD หลายเท่า
ตัวอย่างเช่น:
$1001 0010 0101_{(2)} = 2341_{(10)}$,
$1001 0010 0101_{(2)} = 925_{(2-10)}$.
สัญกรณ์นี้มักใช้เป็นขั้นตอนกลางในการแปลงตัวเลขจากระบบทศนิยมเป็นไบนารี่และในทางกลับกัน เนื่องจากตัวเลข $10$ ไม่ใช่กำลังที่แน่นอนของตัวเลข $2$ จึงไม่ได้ใช้ tetrad มูลค่า $16$ ทั้งหมด (tetrad ที่แทนตัวเลขตั้งแต่ $A$ ถึง $F$ จะถูกละทิ้ง เนื่องจากตัวเลขเหล่านี้ถือเป็นสิ่งต้องห้าม) แต่เป็นอัลกอริธึมสำหรับเลขคณิต การดำเนินการกับตัวเลขหลายหลักในกรณีนี้จะซับซ้อนกว่าระบบตัวเลขพื้นฐาน ถึงกระนั้น ระบบเลขฐานสองก็ยังถูกใช้ในระดับนี้ในเครื่องคิดเลขขนาดเล็กหลายเครื่องและคอมพิวเตอร์บางเครื่อง
เพื่อแก้ไขผลลัพธ์ของการดำเนินการทางคณิตศาสตร์กับตัวเลขที่แสดงในรหัสทศนิยมไบนารี เทคโนโลยีไมโครโปรเซสเซอร์ใช้คำสั่งที่แปลงผลลัพธ์ของการดำเนินการให้เป็นระบบเลขฐานสิบไบนารี มีการใช้กฎต่อไปนี้: เมื่อได้รับตัวเลขที่มากกว่า $9$ อันเป็นผลมาจากการดำเนินการ (การบวกหรือการลบ) ในเตตราด จำนวน $6$ จะถูกเพิ่มเข้าไปในเตตราดนี้
ตัวอย่างเช่น: $75+18=$93
$10001101\(8D)$
ตัวเลขต้องห้าม $D$ ปรากฏอยู่ในสมุดบันทึกที่อยู่ต่ำ เพิ่ม $6$ ไปที่ tetrad ต่ำและรับ:
$10010011 \ (93)$
อย่างที่คุณเห็นแม้ว่าการบวกจะดำเนินการในระบบเลขฐานสอง แต่ผลลัพธ์ของการดำเนินการนั้นได้รับในระบบเลขฐานสอง - ทศนิยม
โน้ต 2
การปรับสมดุล Bitwise มักจะดำเนินการตาม ระบบเลขฐานสอง. การใช้ระบบเลขฐานสองและเลขฐานสอง-ทศนิยมมีความเหมาะสมที่สุด เนื่องจากในกรณีนี้ จำนวนรอบการสมดุลจะน้อยที่สุดในบรรดาระบบตัวเลขอื่นๆ โปรดทราบว่าการใช้รหัสไบนารี่ช่วยให้เราสามารถลดเวลาการประมวลผลของแรงดันไฟฟ้าชดเชยได้ประมาณ $20\%$ เมื่อเทียบกับรหัสไบนารี่-ทศนิยม
ข้อดีของการใช้ระบบเลขฐานสอง
การแปลงตัวเลขจากระบบทศนิยมเป็นระบบเลขฐานสอง-ทศนิยมไม่เกี่ยวข้องกับการคำนวณและใช้งานง่ายโดยใช้วงจรอิเล็กทรอนิกส์ง่ายๆ เนื่องจากมีการแปลงเลขฐานสองจำนวนเล็กน้อย (4) การแปลงแบบย้อนกลับเกิดขึ้นโดยอัตโนมัติในคอมพิวเตอร์โดยใช้โปรแกรมแปลพิเศษ
การใช้ระบบเลขฐานสอง - ทศนิยมร่วมกับหนึ่งในระบบตัวเลขหลัก (ไบนารี) ทำให้สามารถพัฒนาและสร้างคอมพิวเตอร์ประสิทธิภาพสูงได้ เนื่องจากการใช้บล็อกเลขคณิตทศนิยมใน ALU ช่วยลดความจำเป็นในการแปลงโปรแกรม ของตัวเลขจากระบบตัวเลขหนึ่งไปอีกระบบหนึ่งเมื่อแก้ไขปัญหา
เนื่องจากเลขทศนิยมไบนารีสองหลักประกอบขึ้นเป็น $1$ ไบต์ ซึ่งสามารถใช้เพื่อแสดงค่าของตัวเลขตั้งแต่ $0$ ถึง $99$ และไม่ใช่จาก $0$ ถึง $255$ เช่นเดียวกับเลขฐานสอง $8$-bit ดังนั้น ใช้ $1$ ไบต์สำหรับ โดยการแปลงทศนิยมทุกๆ สองหลัก คุณสามารถสร้างตัวเลข BCD ด้วยจำนวนตำแหน่งทศนิยมที่ต้องการได้
ในหลักสูตรวิทยาการคอมพิวเตอร์ โดยไม่คำนึงถึงโรงเรียนหรือมหาวิทยาลัย จะมีการมอบสถานที่พิเศษให้กับแนวคิดเช่นระบบตัวเลข ตามกฎแล้วจะมีการจัดสรรบทเรียนหรือแบบฝึกหัดภาคปฏิบัติหลายบท เป้าหมายหลักไม่เพียงแต่เพื่อฝึกฝนแนวคิดพื้นฐานของหัวข้อนี้เพื่อศึกษาประเภทของระบบตัวเลขเท่านั้น แต่ยังทำความคุ้นเคยกับเลขคณิตไบนารี ฐานแปด และเลขฐานสิบหกด้วย
มันหมายความว่าอะไร?
เริ่มต้นด้วยการกำหนดแนวคิดพื้นฐาน ตามตำราเรียน "สารสนเทศ" ระบบตัวเลขคือบันทึกตัวเลขที่ใช้ตัวอักษรพิเศษหรือชุดตัวเลขเฉพาะ
ขึ้นอยู่กับว่าค่าของตัวเลขเปลี่ยนแปลงหรือไม่ขึ้นอยู่กับตำแหน่งของตัวเลข มีสองระบบ: ระบบตัวเลขแบบมีตำแหน่งและไม่ใช่ตำแหน่ง
ในระบบตำแหน่ง ความหมายของตัวเลขจะเปลี่ยนไปตามตำแหน่งของตัวเลข ดังนั้น ถ้าเราเอาเลข 234 มาใช้ เลข 4 ในนั้นหมายถึงหน่วย แต่ถ้าเราพิจารณาเลข 243 ก็จะหมายถึงสิบอยู่แล้ว ไม่ใช่หน่วย
ในระบบที่ไม่ใช่ตำแหน่ง ความหมายของตัวเลขจะเป็นค่าคงที่ โดยไม่คำนึงถึงตำแหน่งของตัวเลข ตัวอย่างที่โดดเด่นที่สุดคือระบบแท่ง ซึ่งแต่ละยูนิตจะมีเส้นประกำกับอยู่ ไม่สำคัญว่าคุณจะวางแท่งไหน ค่าของตัวเลขจะเปลี่ยนทีละอันเท่านั้น
ระบบที่ไม่ใช่ตำแหน่ง
ระบบตัวเลขที่ไม่ใช่ตำแหน่งประกอบด้วย:
- ระบบหน่วยที่ถือว่าเป็นหนึ่งในระบบแรก มันใช้ไม้แทนตัวเลข ยิ่งมีมากก็ยิ่งมีมูลค่าของตัวเลขมากขึ้น คุณสามารถดูตัวอย่างตัวเลขที่เขียนด้วยวิธีนี้ได้ในภาพยนตร์ที่เรากำลังพูดถึงผู้คนที่สูญหายในทะเล นักโทษที่ทำเครื่องหมายในแต่ละวันโดยใช้รอยบากบนหินหรือต้นไม้
- โรมัน ซึ่งใช้อักษรละตินแทนตัวเลข คุณสามารถเขียนตัวเลขใดก็ได้โดยใช้พวกมัน ยิ่งไปกว่านั้น ค่าของมันถูกกำหนดโดยใช้ผลรวมและผลต่างของตัวเลขที่ประกอบเป็นตัวเลข หากมีจำนวนน้อยกว่าทางด้านซ้ายของตัวเลข ตัวเลขด้านซ้ายจะถูกลบออกจากด้านขวา และหากตัวเลขทางด้านขวาน้อยกว่าหรือเท่ากับตัวเลขทางด้านซ้าย ค่าของตัวเลขเหล่านั้นจะถูกรวมเข้าด้วยกัน ตัวอย่างเช่น หมายเลข 11 เขียนเป็น XI และ 9 - IX
- ตามตัวอักษร ซึ่งตัวเลขถูกกำหนดโดยใช้ตัวอักษรของภาษาใดภาษาหนึ่ง หนึ่งในนั้นถือเป็นระบบสลาฟซึ่งตัวอักษรจำนวนหนึ่งไม่เพียงมีสัทอักษรเท่านั้น แต่ยังมีความหมายเชิงตัวเลขด้วย
- ซึ่งใช้สัญลักษณ์เพียงสองอันในการเขียน - เวดจ์และลูกศร
- อียิปต์ยังใช้สัญลักษณ์พิเศษแทนตัวเลขอีกด้วย เมื่อเขียนตัวเลขแต่ละสัญลักษณ์สามารถใช้ได้ไม่เกินเก้าครั้ง
ระบบตำแหน่ง
วิทยาการคอมพิวเตอร์ให้ความสนใจอย่างมากกับระบบตัวเลขตำแหน่ง ซึ่งรวมถึงสิ่งต่อไปนี้:
- ไบนารี่;
- ฐานแปด;
- ทศนิยม;
- เลขฐานสิบหก;
- sexagesimal ใช้สำหรับการนับเวลา (เช่น มี 60 วินาทีในหนึ่งนาที 60 นาทีในหนึ่งชั่วโมง)
แต่ละคนมีตัวอักษรของตัวเองสำหรับการเขียนกฎสำหรับการแปลและการดำเนินการทางคณิตศาสตร์
ระบบทศนิยม
ระบบนี้เป็นระบบที่เราคุ้นเคยมากที่สุด ใช้ตัวเลข 0 ถึง 9 ในการเขียนตัวเลข พวกเขาเรียกอีกอย่างว่าภาษาอาหรับ ขึ้นอยู่กับตำแหน่งของตัวเลขในตัวเลข มันสามารถแสดงตัวเลขที่แตกต่างกัน - หน่วย สิบ ร้อย พัน หรือล้าน เราใช้มันทุกที่ เรารู้กฎพื้นฐานที่ใช้ดำเนินการทางคณิตศาสตร์กับตัวเลข
ระบบไบนารี่
หนึ่งในระบบตัวเลขหลักในวิทยาการคอมพิวเตอร์คือเลขฐานสอง ความเรียบง่ายช่วยให้คอมพิวเตอร์ทำการคำนวณที่ยุ่งยากได้เร็วกว่าในระบบทศนิยมหลายเท่า
ในการเขียนตัวเลขจะใช้เพียงสองหลักเท่านั้น - 0 และ 1 นอกจากนี้ค่าจะเปลี่ยนไปขึ้นอยู่กับตำแหน่งของ 0 หรือ 1 ในตัวเลข
เริ่มแรกด้วยความช่วยเหลือของคอมพิวเตอร์ที่พวกเขาได้รับข้อมูลที่จำเป็นทั้งหมด ในกรณีนี้ หนึ่งหมายถึงการมีสัญญาณที่ส่งโดยใช้แรงดันไฟฟ้า และศูนย์หมายถึงไม่มีสัญญาณ
ระบบฐานแปด
ระบบหมายเลขคอมพิวเตอร์ที่รู้จักกันดีอีกระบบหนึ่งซึ่งใช้ตัวเลขตั้งแต่ 0 ถึง 7 โดยส่วนใหญ่จะใช้ในด้านความรู้ที่เกี่ยวข้องกับอุปกรณ์ดิจิทัล แต่เมื่อเร็วๆ นี้มีการใช้กันน้อยลงมาก เนื่องจากถูกแทนที่ด้วยระบบเลขฐานสิบหก
ระบบทศนิยมไบนารี
การแสดงตัวเลขจำนวนมากในรูปแบบไบนารีเป็นกระบวนการที่ค่อนข้างซับซ้อนสำหรับมนุษย์ เพื่อให้ง่ายขึ้น จึงได้รับการพัฒนา โดยปกติจะใช้ในนาฬิกาและเครื่องคิดเลขอิเล็กทรอนิกส์ ในระบบนี้ ไม่ใช่ตัวเลขทั้งหมดที่ถูกแปลงจากระบบทศนิยมไปเป็นเลขฐานสอง แต่แต่ละหลักจะถูกแปลงเป็นชุดเลขศูนย์และเลขในระบบเลขฐานสองที่สอดคล้องกัน การแปลงจากไบนารีเป็นทศนิยมเกิดขึ้นในลักษณะเดียวกัน แต่ละหลักซึ่งแสดงเป็นชุดสี่หลักประกอบด้วยศูนย์และหลัก จะถูกแปลงเป็นตัวเลขของระบบเลขทศนิยม โดยหลักการแล้วไม่มีอะไรซับซ้อน
ในการทำงานกับตัวเลขในกรณีนี้ ตารางของระบบตัวเลขจะมีประโยชน์ ซึ่งจะระบุความสอดคล้องระหว่างตัวเลขกับรหัสไบนารี่
ระบบเลขฐานสิบหก
เมื่อเร็ว ๆ นี้ระบบเลขฐานสิบหกได้รับความนิยมมากขึ้นในการเขียนโปรแกรมและวิทยาการคอมพิวเตอร์ ไม่เพียงแต่ใช้ตัวเลขตั้งแต่ 0 ถึง 9 เท่านั้น แต่ยังใช้ตัวอักษรละตินจำนวนหนึ่งด้วย - A, B, C, D, E, F
ในขณะเดียวกัน ตัวอักษรแต่ละตัวก็มีความหมายในตัวเอง ดังนั้น A=10, B=11, C=12 และอื่นๆ แต่ละหมายเลขจะแสดงเป็นชุดอักขระสี่ตัว: 001F
การแปลงตัวเลข: จากทศนิยมเป็นไบนารี่
การแปลในระบบตัวเลขเกิดขึ้นตามกฎเกณฑ์บางประการ การแปลงที่พบบ่อยที่สุดคือจากระบบไบนารี่เป็นระบบทศนิยมและในทางกลับกัน
ในการแปลงตัวเลขจากระบบทศนิยมเป็นระบบไบนารี่ จำเป็นต้องหารตัวเลขนั้นตามลำดับด้วยฐานของระบบตัวเลข ซึ่งก็คือเลขสอง ในกรณีนี้จะต้องบันทึกส่วนที่เหลือของแต่ละแผนกไว้ด้วย สิ่งนี้จะเกิดขึ้นจนกว่าส่วนที่เหลือของการหารจะน้อยกว่าหรือเท่ากับหนึ่ง เป็นการดีที่สุดที่จะดำเนินการคำนวณในคอลัมน์ จากนั้นส่วนที่เหลือจากการหารจะถูกเขียนลงในบรรทัดในลำดับย้อนกลับ
ตัวอย่างเช่น ลองแปลงเลข 9 เป็นเลขฐานสอง:
เราหาร 9 เนื่องจากจำนวนนั้นหารด้วยจำนวนเต็มไม่ลงตัว เราก็เอาเลข 8 มา เศษจะเป็น 9 - 1 = 1
หลังจากหาร 8 ด้วย 2 เราจะได้ 4 หารอีกครั้ง เนื่องจากตัวเลขหารด้วยจำนวนเต็มลงตัว - เราจะได้เศษ 4 - 4 = 0
เราทำการดำเนินการเดียวกันกับ 2 ส่วนที่เหลือคือ 0
จากการหาร เราได้ 1
ไม่ว่าระบบตัวเลขสุดท้ายจะเป็นเช่นไร การแปลงตัวเลขจากทศนิยมไปเป็นตัวเลขอื่นๆ จะเกิดขึ้นตามหลักการหารตัวเลขด้วยฐานของระบบตำแหน่ง
การแปลงตัวเลข: จากไบนารีเป็นทศนิยม
มันค่อนข้างง่ายที่จะแปลงตัวเลขเป็นระบบเลขฐานสิบจากไบนารี่ ในการทำเช่นนี้ก็เพียงพอแล้วที่จะรู้กฎในการเพิ่มตัวเลขให้ยกกำลัง ในกรณีนี้ยกกำลังสอง
อัลกอริธึมการแปลมีดังนี้: แต่ละหลักจากรหัสของเลขฐานสองจะต้องคูณด้วยสองและสองตัวแรกจะเป็นกำลังของ m-1 ตัวที่สอง - m-2 และอื่น ๆ โดยที่ m คือ จำนวนหลักในรหัส จากนั้นบวกผลลัพธ์ของการบวกเพื่อให้ได้จำนวนเต็ม
สำหรับเด็กนักเรียน อัลกอริทึมนี้สามารถอธิบายได้ง่ายกว่า:
ขั้นแรก เราใช้และเขียนตัวเลขแต่ละหลักคูณด้วยสอง จากนั้นยกกำลังสองจากจุดสิ้นสุด โดยเริ่มจากศูนย์ จากนั้นเราจะบวกจำนวนผลลัพธ์
ตัวอย่างเช่น เราจะวิเคราะห์ตัวเลข 1,001 ที่ได้รับมาก่อนหน้านี้ โดยแปลงเป็นระบบทศนิยม และในขณะเดียวกันก็ตรวจสอบความถูกต้องของการคำนวณของเรา
มันจะมีลักษณะเช่นนี้:
1*2 3 + 0*2 2 +0*2 1 +1*2 0 = 8+0+0+1 =9.
เมื่อศึกษาหัวข้อนี้จะสะดวกในการใช้ตารางที่มีกำลังสอง ซึ่งจะช่วยลดระยะเวลาที่ต้องใช้ในการคำนวณได้อย่างมาก
ตัวเลือกการแปลอื่น ๆ
ในบางกรณี การแปลสามารถดำเนินการระหว่างระบบเลขฐานสองและเลขฐานแปด เลขฐานสองและเลขฐานสิบหกได้ ในกรณีนี้ คุณสามารถใช้ตารางพิเศษหรือเปิดแอปพลิเคชันเครื่องคิดเลขบนคอมพิวเตอร์ของคุณโดยเลือกตัวเลือก "โปรแกรมเมอร์" ในแท็บมุมมอง
การดำเนินการทางคณิตศาสตร์
ไม่ว่าจะแสดงตัวเลขในรูปแบบใดก็สามารถใช้เพื่อคำนวณที่เราคุ้นเคยได้ นี่อาจเป็นการหารและการคูณ การลบและการบวกในระบบตัวเลขที่คุณเลือก แน่นอนว่าแต่ละคนก็มีกฎของตัวเอง
ดังนั้นสำหรับระบบไบนารี่ ตารางของตัวเองจึงได้รับการพัฒนาขึ้นสำหรับการดำเนินการแต่ละอย่าง ตารางเดียวกันนี้ใช้ในระบบตำแหน่งอื่นๆ
ไม่จำเป็นต้องจดจำ เพียงพิมพ์ออกมาแล้วเตรียมติดตัวไว้ คุณยังสามารถใช้เครื่องคิดเลขบนพีซีของคุณได้
หัวข้อที่สำคัญที่สุดอย่างหนึ่งในวิทยาการคอมพิวเตอร์คือระบบตัวเลข ความรู้ในหัวข้อนี้ ความเข้าใจอัลกอริธึมในการแปลงตัวเลขจากระบบหนึ่งไปยังอีกระบบหนึ่งเป็นกุญแจสำคัญในการที่คุณจะสามารถเข้าใจหัวข้อที่ซับซ้อนมากขึ้น เช่น อัลกอริทึมและการเขียนโปรแกรม และจะสามารถเขียนโปรแกรมแรกของคุณเองได้
ระบบเลขทศนิยมแบบไบนารี (D-codes)
การแสดงตัวเลขทศนิยมโดยตรงทำให้เกิดความจำเป็นในการเข้ารหัสเลขฐานสองของหลักทศนิยม อุปกรณ์ที่ทำการแปลงเลขคณิตด้วยเลขทศนิยมจะได้รับคำศัพท์พิเศษว่า "เลขคณิตทศนิยม" อุปกรณ์ดังกล่าวควรมีความคล้ายคลึงกับอุปกรณ์ไบนารีทั่วไปมากที่สุดเท่าที่จะเป็นไปได้
เลขคณิตทศนิยมรวมอยู่ในฮาร์ดแวร์ของระบบประสิทธิภาพสูง เพื่อลดการแปลงข้อมูลต้นฉบับเป็นไบนารี่และผลลัพธ์เป็นทศนิยม
ระบบทศนิยมรหัสไบนารี่เป็นระบบตัวเลขรวมที่มีข้อดีของไบนารี่และความสะดวกของระบบทศนิยม
ดี-code คือการแสดงเลขทศนิยมโดยใช้รหัสไบนารี่ ซึ่งแต่ละหลักทศนิยมจะแสดงด้วยอักขระไบนารีจำนวน tetrad
จำนวนเตตราดไบนารีที่แตกต่างกัน เอ็น= 2 4 = 16 มีเพียงสิบตัวเท่านั้นที่ใช้เข้ารหัสเลขฐานสอง การมีชุดค่าผสมที่ซ้ำซ้อนช่วยให้คุณมีความแตกต่างกัน ดี-รหัส ในคอมพิวเตอร์ ระบบการเข้ารหัสที่ใช้กันอย่างแพร่หลายที่สุดคือ 8421 - ดี 1 , 2421 - ดี 2 , (8421+3) - ดี 4. ความซ้ำซ้อนที่เกิดขึ้นนำไปสู่การเข้ารหัสทศนิยมหลายหลัก ซึ่งจะต้องเลือกค่าที่เหมาะสมที่สุด
รหัส 8421 (ตารางที่ 2.4) มีชื่อว่า รหัสที่มีน้ำหนักธรรมชาติโดยที่ตัวเลข 8,4,2,1 คือน้ำหนักของเลขฐานสองของเตตราด หลักทศนิยมใดๆ ในรหัสนี้จะแสดงด้วยค่าที่เทียบเท่ากันในระบบเลขฐานสอง รหัสนี้พบว่ามีประโยชน์มากที่สุดในการเข้ารหัสเลขทศนิยมในอุปกรณ์อินพุต/เอาท์พุต และในการสร้างอุปกรณ์ปฏิบัติการเลขคณิตทศนิยม
คุณสมบัติของรหัส ดี 2 และ ดี 4 (8421+3) หรือรหัสที่เกิน 3 คือการเข้ารหัสของเลขฐานสิบใดๆ และเลขคู่เสริมจนถึง 9 จะดำเนินการโดย tetrad เสริมซึ่งกันและกัน คุณลักษณะนี้ให้วิธีง่ายๆ ในการรับส่วนเสริมของ 9 โดยการกลับเลขฐานสองของเตตราด รหัสดังกล่าวสะดวกในการใช้จัดระเบียบการดำเนินการลบเมื่อสร้างตัวบวกทศนิยม
ตารางที่ 2.4
ตัวอย่างการเข้ารหัสทศนิยมในหน่วยเตตราด
หลักทศนิยม |
เทียบเท่าใน ดี-รหัส |
||
ดี 1 (8421) |
ดี 2 (2421) |
ดี 4 (8421+3) |
|
นี่คือตัวอย่างการเข้ารหัสเลขฐานสิบ A = 8371 ในระบบเลขฐานสิบที่เข้ารหัสไบนารี:
ดี 1: ก = 1000 0011 0111 0001 (2/10) ;
ดี 2: ก = 1110 0011 1101 0001 (2/10) ;
ดี 4: ก = 1011 0110 1010 0100 (2/10).
การเข้ารหัสที่เหมาะสมที่สุดถูกกำหนดโดยข้อกำหนดหกประการที่รหัสทศนิยมต้องเป็นไปตามนั้น
1. ไม่มีความกำกวม หลักทศนิยมแต่ละหลักต้องสอดคล้องกับรหัสไบนารี่ที่แตกต่างกันโดยเฉพาะ
การไม่ปฏิบัติตามข้อกำหนดนี้จะนำไปสู่ผลลัพธ์ที่ไม่ชัดเจน
2. ความเป็นระเบียบเรียบร้อย. เลขทศนิยมขนาดใหญ่ควรตรงกับเลขเตตราดที่มีรหัสทศนิยมขนาดใหญ่ และในทางกลับกัน เลขทศนิยมที่เล็กกว่าควรตรงกับเลขเตตราดที่เล็กกว่า
การปฏิบัติตามข้อกำหนดนี้เป็นสิ่งจำเป็นเพื่อจัดระเบียบการเปรียบเทียบเชิงปริมาณของตัวเลขในตำแหน่งทศนิยม
3. ความเท่าเทียมกัน เลขคู่จะต้องตรงกับเตตราดคู่ และเลขคี่ต้องตรงกับเตตราดคี่ การปฏิบัติตามสามารถทำเครื่องหมายได้ในทางใดทางหนึ่ง
การปฏิบัติตามข้อกำหนดนี้จำเป็นต้องปัดเศษผลลัพธ์
4. ส่วนเสริม ถ้า x1 และ x2 เป็นตัวเลขสองหลักโดยที่ x1 + x2 = 9 และหลัก x1 เชื่อมโยงกับเตตราด ดังนั้น ตัวเลข x2 หากเป็นไปตามข้อกำหนดด้านความเสริม จะต้องเชื่อมโยงกับเตตราดที่ได้รับโดยการกลับเลขฐานสองของ รหัสหลัก x1
ข้อกำหนดการเสริมมีความจำเป็นเพื่อลดความซับซ้อนของการใช้รหัสเสริมและรหัสซึ่งกันและกันสำหรับเลขทศนิยม
5. ความสำคัญ. จะต้องมีจำนวนเต็มบวกสี่ตัว: p3, p2, p1, p0 เรียกว่าน้ำหนักซึ่งคุณสามารถกำหนดเลขฐานสิบ x จากค่าของ tetrad ไบนารีที่เกี่ยวข้องกับ x โดยใช้สูตร
การปฏิบัติตามข้อกำหนดนี้จะช่วยอำนวยความสะดวกในการถอดรหัส
6. ความต่อเนื่อง ลำดับการเปลี่ยนแปลงความหมายของตัวเลขอย่างต่อเนื่องจะต้องสอดคล้องกับลำดับการเปลี่ยนแปลงความหมายของเตตราดอย่างต่อเนื่อง
ไม่มีรหัสทศนิยมใดที่ตรงตามความต้องการทั้ง 6 ข้อเหล่านี้ในเวลาเดียวกัน
ที่แพร่หลายที่สุดใน VT คือรหัสการทดแทนโดยตรงที่มีน้ำหนักหลัก 8421 รหัสนี้มองเห็นได้สะดวกที่สุดเนื่องจากตามชื่อของรหัส เลขฐานสิบในนั้นคือค่าที่สอดคล้องกันของรหัสไบนารี่ . อย่างไรก็ตาม รหัส 8421 ไม่เป็นไปตามข้อกำหนดด้านเสริม ดังนั้นการดำเนินการในรหัสนี้ที่เปลี่ยนเครื่องหมายของเลขทศนิยมเกี่ยวข้องกับการกลับตัวเลขหรือการใช้ส่วนเสริม กล่าวคือ จำเป็นต้องมีการแก้ไขและ/หรือเวลาเพิ่มเติม
ข้อดีของระบบเลขฐานสิบแบบไบนารีที่สัมพันธ์กับระบบเลขฐานสองคือ:
- · ไม่จำเป็นต้องแปลงแหล่งข้อมูลและผลลัพธ์จากระบบตัวเลขหนึ่งไปเป็นอีกระบบหนึ่ง
- · ความสะดวกในการติดตามผลระดับกลางโดยแสดงผลเพื่อการตรวจสอบภายใน
- · ความเป็นไปได้ที่กว้างขึ้นสำหรับการควบคุมอัตโนมัติเนื่องจากความพร้อมใช้งานของ ดี-codes ของชุดค่าผสมที่ซ้ำซ้อน
ดี-รหัสถูกใช้เพื่อแก้ไขปัญหาทางเศรษฐกิจซึ่งมีลักษณะของข้อมูลเริ่มต้นจำนวนมาก ความเรียบง่ายในการเปรียบเทียบ และการเปลี่ยนแปลงปริมาณเล็กน้อยที่ดำเนินการกับข้อมูลเหล่านั้น และผลการคำนวณจำนวนมาก ระบบนี้ใช้กันอย่างแพร่หลายในเครื่องคิดเลขและไมโครคอมพิวเตอร์ส่วนบุคคล
ระบบนี้มีฐานเป็น S = 10 แต่แต่ละหลักจะแสดงด้วยเลขฐานสองสี่บิตที่เรียกว่าเตตราด โดยทั่วไปแล้ว ระบบตัวเลขนี้จะใช้ในคอมพิวเตอร์เมื่อป้อนและส่งออกข้อมูล อย่างไรก็ตาม ในคอมพิวเตอร์บางประเภท ALU มีบล็อกเลขคณิตทศนิยมพิเศษที่ดำเนินการกับตัวเลขในรหัสทศนิยมไบนารี ซึ่งจะช่วยให้ในบางกรณีสามารถเพิ่มประสิทธิภาพคอมพิวเตอร์ได้อย่างมาก
เช่น ในระบบประมวลผลข้อมูลอัตโนมัติ มีหลายตัวเลข แต่มีการคำนวณน้อย ในกรณีนี้ การดำเนินการที่เกี่ยวข้องกับการโอนหมายเลขจากระบบหนึ่งไปยังอีกระบบหนึ่งจะเกินเวลาที่ต้องใช้ในการดำเนินการประมวลผลข้อมูลอย่างมาก
การแปลงตัวเลขจากระบบทศนิยมเป็น BCD นั้นง่ายมาก และประกอบด้วยการแทนที่แต่ละหลักด้วยเตตราดไบนารี
ตัวอย่าง.
เขียนเลขฐานสิบ 572.38 (10) ในระบบเลขฐานสอง
การแปลแบบย้อนกลับนั้นง่ายเช่นกัน: คุณต้องแบ่งเลขฐานสอง - ทศนิยมเป็น tetrad จากจุดไปทางซ้าย (สำหรับส่วนจำนวนเต็ม) และไปทางขวา (สำหรับส่วนที่เป็นเศษส่วน) เพิ่มจำนวนศูนย์ที่ไม่มีนัยสำคัญที่ต้องการและ แล้วเขียนแต่ละเตตราดเป็นเลขทศนิยม
ตัวอย่าง.
เขียนเลขฐานสอง 10010.010101 (2-10) ในระบบเลขฐานสิบ
การแปลงตัวเลขจาก BCD เป็นระบบไบนารี่ดำเนินการตามกฎทั่วไปที่อธิบายไว้ข้างต้น
2.3. ระบบเลขฐานแปด
ในระบบเลขฐานแปดจะใช้เพียงแปดหลักเท่านั้น ได้แก่ ระบบตัวเลขนี้มีฐาน S = 8 โดยทั่วไปเลขฐานแปดจะมีลักษณะดังนี้
ที่ไหน
.
คอมพิวเตอร์ไม่จำเป็นต้องใช้ระบบเลขฐานแปด ซึ่งแตกต่างจากระบบเลขฐานสอง สะดวกในรูปแบบการเขียนตัวเลขที่กะทัดรัดและโปรแกรมเมอร์ใช้ (ตัวอย่างเช่นในข้อความโปรแกรมสำหรับวิธีการเขียนรหัสไบนารี่ของคำสั่งที่อยู่และตัวถูกดำเนินการที่กระชับและสะดวกยิ่งขึ้น) ในระบบเลขฐานแปด น้ำหนักของแต่ละหลักจะเป็นผลคูณของแปดหรือหนึ่งในแปด ดังนั้นเลขฐานสองแปดบิตจึงให้คุณแสดงค่าทศนิยมในช่วง 0-255 ได้ และเลขฐานแปดครอบคลุมช่วง 0 -99999999 (สำหรับไบนารี่คือ 27 หลัก)
เนื่องจาก 8=2 3 อักขระฐานแปดแต่ละตัวสามารถแสดงเป็นเลขฐานสองสามบิตได้ ในการแปลงตัวเลขจากระบบเลขฐานสองเป็นระบบเลขฐานแปด คุณต้องแบ่งตัวเลขนี้ไปทางซ้าย (สำหรับส่วนจำนวนเต็ม) และไปทางขวา (สำหรับส่วนที่เป็นเศษส่วน) ของจุด (ลูกน้ำ) เป็นกลุ่มละสามกลุ่ม หลัก (triads) และแทนแต่ละกลุ่มด้วยตัวเลขในระบบเลขฐานแปด Triads ที่ไม่สมบูรณ์สุดขั้วจะเสริมด้วยจำนวนศูนย์ที่ไม่มีนัยสำคัญที่ต้องการ
ตัวอย่าง.
เขียนเลขฐานสอง 10101011111101 (2) ในระบบเลขฐานแปด
ตัวอย่าง.
เขียนเลขฐานสอง 1011.0101 (2) ในระบบเลขฐานแปด
การแปลงจากฐานแปดเป็นเลขฐานสองจะดำเนินการโดยแสดงแต่ละหลักของเลขฐานแปดเป็นเลขฐานสองสามหลัก (สาม)
2.4. ระบบเลขฐานสิบหก
ระบบตัวเลขนี้มีฐานเป็น S = 16 โดยทั่วไป เลขฐานสิบหกจะมีลักษณะดังนี้:
ที่ไหน
.
ระบบเลขฐานสิบหกทำให้สามารถเขียนเลขฐานสองหลายบิตได้สั้นยิ่งขึ้น และยิ่งไปกว่านั้นยังทำให้สัญลักษณ์เลขฐานสอง 4 บิตสั้นลงได้อีกด้วย เช่น แทะตั้งแต่ 16=2 4 . ระบบเลขฐานสิบหกยังใช้ในข้อความโปรแกรมเพื่อการบันทึกเลขฐานสองที่กระชับและสะดวกยิ่งขึ้น
ในการแปลงตัวเลขจากระบบเลขฐานสองเป็นเลขฐานสิบหก คุณต้องแบ่งตัวเลขนี้ไปทางซ้ายและขวาของจุดเป็นเตตราด และแทนแต่ละเตตราดด้วยตัวเลขในระบบเลขฐานสิบหก
ตัวอย่าง.
เขียนเลขฐานสอง 10101011111101 (2) เป็นเลขฐานสิบหก
ตัวอย่าง.
เขียนเลขฐานสอง 11101.01111 (2) เป็นเลขฐานสิบหก
ในการแปลงตัวเลขจากระบบเลขฐานสิบหกเป็นระบบเลขฐานสอง ในทางกลับกัน จำเป็นต้องแทนที่แต่ละหลักของตัวเลขนี้ด้วย tetrad
โดยสรุปควรสังเกตว่าการโอนหมายเลขที่กำหนดเองจากระบบตัวเลขหนึ่งไปยังอีกระบบหนึ่งสามารถดำเนินการได้ตามกฎทั่วไปที่อธิบายไว้ในส่วน "ระบบเลขฐานสอง" อย่างไรก็ตาม ในทางปฏิบัติ การแปลงตัวเลขจากระบบทศนิยมเป็นระบบตัวเลขที่พิจารณาและในทางกลับกันจะดำเนินการผ่านระบบเลขฐานสอง
นอกจากนี้ โปรดจำไว้ว่าเลขฐานสิบหกและเลขฐานแปดเป็นเพียงวิธีการแสดงเลขฐานสองขนาดใหญ่ที่โปรเซสเซอร์ทำงานจริงเท่านั้น ในกรณีนี้ ระบบเลขฐานสิบหกจะดีกว่า เนื่องจากในคอมพิวเตอร์สมัยใหม่ โปรเซสเซอร์จัดการคำที่มีความยาว 4, 8, 16, 32 หรือ 64 บิต เช่น ความยาวของคำจะเป็นผลคูณของ 4 ในระบบเลขฐานแปด คำที่เป็นผลคูณของ 3 บิตจะนิยมใช้ เช่น คำที่มีความยาว 12 บิต (เช่นใน PDP-8 จาก DEC)