จำนวนผ้ชม

วันเสาร์ที่ 9 ตุลาคม พ.ศ. 2553

หน่วยการเรียนรู้ที่1ระบบเลขฐานสิบ

ระบบเลขฐาน จัดเป็นระบบตัวเลขที่ใช้งานอยู่ใน PLC ดังนั้นผู้ใช้งานมีความจำเป็นต้องศึกษาระบบเลขฐานให้เข้าใจประกอบกับข้อมูลอื่นๆ เพื่อการใช้งานที่ถูกต้อง

ระบบเลขฐานสอง (Binary)
ระบบเลขฐานสิบ (Decimal)
ระบบเลขฐานสิบหก (Hexadecimal)

ความสัมพันธ์ของเลข BIN, BCD และ HEX สามารถกำหนดให้เป็นตารางได้ดังนี้


HEX
BCD
FOUR DIGIT BINARY



2

BIN (Binary) = ระบบเลขฐานสอง
BCD (Binary Code Decimal) = ระบบเลขฐานสิบ
HEX (Hexadecimal) = ระบบเลขฐานสิบหก




1. ระบบเลขฐานสอง (Binary)
ระบบเลขฐานสอง (Binary) จะเป็นระบบเลขที่ง่ายกว่าเลขฐานสิบ เนื่องจากระบบเลขฐานสอง จะใช้ัอักขระแทนสองตัว ระบบเลขฐานสองนี้ใช้ในระบบดิจิตอลอิเล็กทรอนิกส์ด้วย เพราะว่าวงจรดิจิตอลจะมีเพียงสองสถานะ(two states)หรือระดับสัญญาณสองระดับ (two signal levels)โดยมีตัวเลขที่ไม่ซ้ำกันอยู่ทั้งหมด 2 ตัว คือ 0 และ 1 หรืออาจใช้คำอื่นแทน


สถานะหนึ่ง สถานะตรงข้าม
0 1
Off On
Space Mark
Open Closed
Low Hi

ถ้าจะเทียบเลขฐานสองกับเลขฐานสิบแล้ว เลขฐานสองจะมีจำนวนหลักมากกว่า เพราะว่าในแต่ละหลักจะมีเลขได้สองค่า แต่ถ้าเป็นเลขฐานสิบแต่ละหลักจะมีเลขได้เก้าค่าคือ 0 ถึง 9
ระบบเลขฐานสิบ แต่ละหลักจะมีค่าเวจต์เป็นค่าสิบยกกำลังของหลักนั้น ระบบเลขฐานสองก็เช่นเดียวกัน จะมีฐานของเลขฐานสอง (base 2 system) การหาค่าเวจต์ในแต่ละหลักจะหาได้จากค่ายกกำลังสองของหลักนั้นๆ


ฐานสอง ฐานสิบ
2^0


ค่าของ2ยกกำลังต่างๆเป็นฐานสิบ
ถ้าต้องการแปลงเลขฐานสองเป็นเลขฐานสิบก็สามารถทำได้ เช่นถ้าแปลงเลข 101101 เป็นเลขฐานสิบสามารถทำได้ดังนี้
(1x2^5)+(0x2^4)+(1x2^3)+(1x2^2)+(0x2^1)+(1x2^0) = 45
ตัวเลขฐานสอง 101101 จะมีค่าเท่ากับ 45 ในระบบเลขฐานสิบ
ระบบเลขฐานสองก็มีทศนิยมเช่นเดียวกับระบบเลขฐานสิบ ซึ่งเรียกว่าไบนารีพอยต์(binary point) โดยจะมีเครื่องหมายจุดแบ่งตัวเลขจำนวนเต็มกับเลขทศนิยมออกจากกัน ค่าเวจต์ของเลขทศนิยมแต่ละหลักจากซายไปขวาจะเป็นดังนี้ 1/2 , 1/4 , 1/8 , 1/16........ไปเรื่อยๆหรืออาจจะเขียนเป็นเลขยกกำลังค่าลบก็ได้




ค่าของ2ยกกำลังค่าลบ เป็นเลขฐานสิบ

ในระบบเลขฐานสิบนั้นแต่ละหลักจะเรียกว่าหลัก แต่ถ้่าเป็นระบบเลขฐานสองแต่ละหลักจะเรียกว่าบิต (bit) คำว่าบิต (bit) ย่อมาจาก binary digit ถ้าในงานดิจิตอลอิเล็กทรอนิกส์ จะพบคำว่า “Bit” บ่อยมาก
ในแต่ละหลักของเลขฐานสอง หลักซึ่งมีค่าเวจต์ต่ำสุดซึ่งอยู่ทางด้านขวาสุด จะเรียกว่าบิตที่มีความสำคัญต่ำสุด(LSB : Least Significant Bit) สำหรับด้านที่อยู่ซ้ายสุดจะมีค่าเวจต์สูงสุด เรียกว่าบิตที่มีความสำคัญสูงสุด(MSB : Most Significant Bit) ถ้าใช้ในระบบเลขฐานสิบจะเรียกว่า LSD(Least Significant Digit) และ MSD(Most Significant Digit) ในระบบดิจิตอลในบางครั้งเราจะเห็นเขียนว่า MSD , LSD กำกับเอาไว้ด้วย



2. ระบบเลขฐานสิบ (Decimal)
ระบบเลขฐานสิบ (Decimal) มีตัวเลขที่ไม่ซ้ำกันอยู่ทั้งหมด 10 ตัว คือ 0 1 2 3 4 5 6 7 8 9 หรือเรียกอีกอย่างหนึ่งคือ BCD code อันนี้คงไม่ต้องกล่าวอะไรมากเพราะอยู่ใ้นชีวิตประจำวันอยู่แล้ว

3. ระบบเลขฐานสิบหก (Hexadecimal)
ระบบเลขฐานสิบหก (Hexadecimal) ฐานของมันจะมีค่าเป็น 16 ซึ่งจะมีตัวเลขที่ไม่ซ้ำกันอยู่ทั้งหมด 16 ตัว คือ 0 1 2 3 4 5 6 7 8 9 A B C D E F (ตัวอักษร 6 ตัว แทน ตัวเลข 10 –15 ตามลำดับ)
ในงานด้านอิเล็กทรอนิกส์และคอมพิวเตอร์ ตัวเลขที่ใช้ในการประมวลผลจะเป็นเลขฐานสอง แต่ถ้าตัวเลขมีค่ามากจะทำให้เลขฐานสองมีหลายหลัก จึงใช้เลขฐานสิบหกแทนเลขฐานสอง แล้วจะมีการแปลงเลขฐานสิบหกเป็นเลขฐานสองอีกทีหนึ่ง เลขฐานสิบหกนั้นจะนิยมใช้มากในคอมพิวเตอร์ ถ้าหากไบนารี่ที่ใ่ช้ในระบบคอมพิวเตอร์เป็นแบบ 8 บิต ซึ่งแทนเลขฐานสิบหกได้ตั้งเเต่ 0 ถึง 255 แต่สามารถแทนด้วยเลขฐานสิบหกเพียงสองหลักเท่านั้น ถ้าหากเรามีเลขฐานสิบ 99,999,999 ถ้าเขียนแทนด้วยเลขไบนารีจะต้องใช้หลายบิต แต่ถ้าเขียนเเทนด้วยเลขฐานสิบหกจะใช้เพียงไม่กี่หลัก
ค่าสิบหกสามารถแทนได้ด้วยสองยกกำลังสี่ หรือ 16 = 2^4 ดังนั้นเลขฐานสิบหกจึงสามารถเขียนแทนด้วยเลขฐานสองได้สี่บิต โดยมีค่าตั้งแต่ 0000 ถึง 1111 หรือแทนด้วยอักษร 0 ถึง F ความสัมพันธ์ระหว่างเลขฐานสอง ฐานสิบ และฐานสิบหกแสดงใ้ว้ในตารางความสัมพันธ์ของเลข BIN, BCD และ HEX
การแปลงเลขฐานสองเป็นเลขฐานสิบหกก็สามารถทำได้โดยง่าย โดยจัดเลขฐานสองตั้งแต่บิตแรกจนถึงบิตสุืดท้ายเป็นกลุ่มๆ โดยจัดกลุ่มละ 4 บิตและแทนค่าด้วยเลขฐานสิบหกแต่ละค่าให้สอดคล้องกันตัวอย่างต่อไปนี้จะเป็นการแปลงเลขฐานสองเป็นฐานสิบหก

—การแปลงเลข 10101011111101 เป็นเลขฐานสิบหกสามารถทำได้โดย การแบ่งกลุ่ม ๆ ละ 4 บิตดังนี้
0010 1010 1111 1101
จะเห็นว่าถ้าแบ่งเป็นกลุ่ม ๆ ละ 4 บิต จะมีสองบิตบนที่จัดกลุ่มไม่ได้ ก็ให้เติม 0 ไปในกลุ่มนั้นให้ครบ 4 บิต จากนั้นแทนค่าตัวเลขแต่ละกลุ่มด้วยเลขฐานสิบหกดังนี้
2 A F D
ดังนั้นจะได้ 10101011111101 มีค่าเท่ากับ 2AFD

ให้จำใว้ว่าเลขฐานสิบหกที่เรามองเห็นนั้นเป็นการใช้แทนเลขไบนารีเพราะ CPU ไม่สามารถประมวลผลเลขฐานสิบหกได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น