การเข้ารหัสแบบถ่วงน้ำหนักช่วยในการแปลงไบนารี
เครดิตรูปภาพ: leszekglasner / iStock / Getty Images
วงจรดิจิตอลที่คุณเห็นภายในคอมพิวเตอร์และอุปกรณ์อิเล็กทรอนิกส์อื่นๆ สามารถสื่อสารผ่านสองแนวคิดเท่านั้น: เปิดและปิด แนวคิดเหล่านี้แสดงให้เราทราบในรูปแบบของการนับเลขฐานสอง โดยที่ 0 ปิดและ 1 เปิดอยู่ ในการสื่อสารกับคอมพิวเตอร์อย่างแท้จริง จำเป็นต้องมีการแปลงเพิ่มเติมเพื่อให้ภาษาคอมพิวเตอร์มีรูปแบบที่เป็นมนุษย์มากขึ้น ขั้นตอนแรกในกระบวนการแปลงคือการแปลงการเข้ารหัสไบนารีให้เป็นระบบทศนิยมที่อ่านง่ายขึ้น การเข้ารหัสแบบถ่วงน้ำหนักและแบบไม่ถ่วงน้ำหนักหมายถึงวิธีการแปลงเลขฐานสองเป็นทศนิยม ด้วยการเข้ารหัสแบบถ่วงน้ำหนัก ตัวเลขแต่ละหลักในตัวเลขจะได้รับการกำหนดมูลค่าแบบถ่วงน้ำหนักก่อนการแปลง วิธีการเข้ารหัสแบบไม่ถ่วงน้ำหนักใช้สูตรที่แตกต่างกันเล็กน้อย แต่ทำการแปลงโดยไม่มีค่าน้ำหนัก
ก่อนที่จะเข้าใจการเข้ารหัสแบบถ่วงน้ำหนัก คุณต้องเข้าใจระบบการนับเลขและสัญกรณ์ตำแหน่งก่อน
วีดีโอประจำวันนี้
ระบบเลข
ระบบการนับจะถูกระบุด้วยฐาน ซึ่งเป็นตัวเลขสูงสุดที่คุณสามารถนับได้ก่อนที่จะเพิ่มตัวเลขอื่น ตัวอย่างเช่น ระบบการนับที่เราทุกคนเรียนรู้ในฐานะเด็กเรียกว่าฐาน 10 เนื่องจากตัวเลขสิบตัวแรกในลำดับ 0 ถึง 9 สามารถนับได้โดยใช้ตัวเลขหลักเดียว เมื่อคุณไปถึง 10 แล้ว คุณต้องเปลี่ยนทุกอย่างซ้ำแล้วซ้ำอีกและนับเป็นตัวเลขสองหลักจนกว่าจะถึง 100 แล้วจึงนับเป็นตัวเลขสามหลัก ระบบฐาน 10 นี้เรียกอีกอย่างว่าระบบทศนิยม
สัญกรณ์ตำแหน่ง
สัญกรณ์ตำแหน่งเกิดขึ้นเมื่อคุณกำหนดค่าตำแหน่งให้กับแต่ละหลักในจำนวนจริง จากขวาไปซ้าย สำหรับเลข 4782 เช่น เริ่มต้นด้วยเลข 2 และนับจากขวาไปซ้าย ตำแหน่งคือ 0, 1, 2, 3 ดังนี้
4782 = หมายเลข 3210 = ค่าตำแหน่ง
การเข้ารหัสแบบถ่วงน้ำหนัก
ในตัวอย่างข้างต้น การกำหนดตำแหน่ง 0 ถึง 3 สามารถเป็นค่าน้ำหนักของตัวเลขที่กำหนดได้ ดังนั้นน้ำหนักของ 4 คือ 3 และน้ำหนักของ 7 คือ 2 น้ำหนักของตัวเลขจะมีผลเมื่อแปลงจากระบบการนับเลขฐานเป็นระบบเลขฐานสิบ (ฐาน 10) สูตรหนึ่งสำหรับการแปลงตัวเลขแบบถ่วงน้ำหนักคือการคูณตัวเลขแต่ละหลักด้วยฐานเป็นกำลังของตำแหน่ง จากนั้นจึงบวกตัวเลขที่ได้ทั้งหมด ในตัวอย่างด้านล่าง 100101 ซึ่งเป็นเลขฐานสองเป็นเลขฐานสอง จะถูกแปลงเป็นเลขฐานสิบ (ฐาน 10)
100101 = เลขฐานสอง (ฐาน 2) 543210 = น้ำหนักตำแหน่ง (1 x 2^5) + (0 x 2^4) + (0 x 2^3) + (1 x 2^2) + (0 x 2^1 ) + (1 x 2^0) = 32 + 0 + 0 + 4 + 0 + 1 = 37 37base10 = การแปลงทศนิยม
วิธีการให้น้ำหนักอื่นๆ ได้แก่ BCD และ 2421 ซึ่งแต่ละวิธีใช้สูตรที่คล้ายกันเพื่อกำหนดน้ำหนักและแปลงเป็นทศนิยม
การเข้ารหัสแบบไม่ถ่วงน้ำหนัก
รหัสสีเทาเป็นวิธีการเข้ารหัสแบบไม่ถ่วงน้ำหนัก ซึ่งจะเปลี่ยนเพียงหนึ่งบิตในเลขฐานสองเมื่อย้ายจากเลขทศนิยมหนึ่งไปยังเลขฐานสอง ในการเข้ารหัสไบนารีปกติ หลัก 10 จะแทนเลขทศนิยม 2 เมื่อใช้รหัสสีเทา หนึ่งบิตของเลขฐานสองนั้นจะเปลี่ยน ดังนั้นเลขฐานสอง 2 จะถูกแทนด้วยเลขฐานสอง 0011 ตามลำดับ เลขทศนิยม 3 ซึ่งปกติจะแสดงด้วยเลขฐานสอง 0011 จะถูกแปลงเป็น 0010 เนื่องจากมีเพียงบิตเดียวเท่านั้นที่สามารถเปลี่ยนแปลงได้
ส่วนเกิน-3 เป็นวิธีการเข้ารหัสแบบไม่ถ่วงน้ำหนักอีกวิธีหนึ่ง และเคยใช้ในคอมพิวเตอร์รุ่นเก่าและเพิ่มเครื่องจักร หากเกิน -3 คุณจะบวก 3 เป็นเลขฐานสิบก่อนที่จะแปลงเป็นเลขฐานสอง ตัวอย่างเช่น เลขทศนิยม 2 เช่น จะเพิ่มขึ้น 3 ก่อน เป็น 5 การแปลงเลขฐานสองของ 2 โดยใช้วิธี Excess-3 จะเป็น 0101 แทนที่จะเป็นค่าเลขฐานสองปกติที่ 0010