ความสัมพันธ์ของระบบเลขฐานสอง กับระบบคอมพิวเตอร์

ความสัมพันธ์ของระบบเลขฐานสอง กับระบบคอมพิวเตอร์

ระบบเลขฐาน
เลขฐาน
หมายถึง กลุ่มข้อมูลที่มีจำนวนหลัก (
Digit) ตามชื่อของฐาน

นั้นๆเช่น เลขฐานสอง ฐานแปด และฐานสิบ
ประกอบด้วยข้อมูลตัวเลขจำนวนสองหลัก (
0-1) แปดหลัก
(0-7) และสิบหลัก (0-9) ตามลำดับ



  
  
  
  
  
  
n  
ระบบคอมพิวเตอร์มีการใช้ระบบเลขฐาน4
แบบ ประกอบด้วย

     1
).เลขฐานสอง (Binary
Number)

     2).เลขฐานแปด (Octal Number)

     3).เลขฐานสิบ (Decimal
Number)

     4).เลขฐานสิบหก (Hexadecimal
Number)
เลขฐานสอง
n คือตัวเลขที่มีค่าไม่ซ้ำกันสองหลัก
(
0 และ 1) เป็นเลขฐานเดียวที่เข้ากันได้กับ
Hardware ของเครื่องคอมพิวเตอร์ได้โดยตรง เพราะการใช้เลขฐานอื่น
จะสร้างความยุ่งยากให้กับเครื่องคอมพิวเตอร์อย่างมาก เช่น
เลขฐานสิบมีตัวเลขที่เป็นสถานะที่ต่างกันถึง
10 ตัว ในขณะที่ระบบไฟฟ้ามีเพียง2 สถานะ ซึ่งในช่วงเวลาหนึ่งๆมีเพียงสถานะเดียวเท่านั้น
แต่ละหลักของเลขฐานสอง เรียกว่า
Binary Digit (BIT)
เลขฐานแปด
n
เลขฐานแปด มีความสัมพันธ์กับเลขฐานสอง คือ
เลขฐานสองจำนวน
3
หลัก แทนด้วยเลขฐานแปด 1 หลัก
ดังนั้นเราจึงสามารถเขียนเลขฐานสอง
6 บิท แทนด้วยเลขฐานแปด 2
บิท การใช้เลขฐานแปดแทนเลขฐานสองทำให้จำนวนบิทสั้นลง
เลขฐานสิบ
n
คือตัวเลขที่มีค่าไม่ซ้ำกันสิบหลัก (0,1,2,…,9) เป็นเลขฐานที่มนุษย์คุ้นเคยและใช้ในชีวิตประจำวันมากที่สุด
ตัวเลขที่มีจำนวนมากกว่า
9 ให้ใช้ 10 ซึ่งเป็นการกลับไปใช้เลข1 และ 0 อีก เพียงแต่ค่าของ 1 เปลี่ยนไปเป็น 10 เท่าของตัวมันเอง เช่น 333
(สามร้อยสามสิบสาม) แม้จะใช้ตัวเลข 3 ทั้งหมด
แต่ตำแหน่งของตัวเลขย่อมมีความหมายตามตำแหน่งของแต่ละหลักนั้น กล่าวคือ
หลักหน่วยน้อยกว่าหลักสิบ
10 เท่า หลักสิบน้อยกว่าหลักร้อย 10
เท่า ตามลำดับ
n
เลขฐานสิบหก
n
เลขฐานสิบหก มีความสัมพันธ์กับเลขฐานสอง คือ
เลขฐานสองจำนวน
4
หลัก แทนด้วยเลขฐานสิบหก 1 หลัก
ดังนั้นเราจึงสามารถเขียนเลขฐานสอง
8 บิทแทนด้วยเลขฐานสิบหก 2
บิท การใช้เลขฐานสิบหกแทนเลขฐานสองทำให้จำนวนบิทสั้นลง
n
ระบบเลขฐานสิบหก (Hexadecimal) ฐานของมันจะมีค่าเป็น 16 ซึ่งจะมีตัวเลขที่ไม่ซ้ำกันอยู่ทั้งหมด16 ตัว คือ 0   1
2   3   4   5   6   7
8   9   A   B   C
D   E   F  (ตัวอักษร6 ตัว แทน ตัวเลข 10 –15 ตามลำดับ)
n
การแปลงเลข 10101011111101 เป็นเลขฐานสิบหกสามารถทำได้โดย
การแบ่งกลุ่ม ๆ ละ
4 บิตดังนี้

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

                                2            A          F          D

ดังนั้นจะได้ 10101011111101 มีค่าเท่ากับ 2AFD





การแปลงเลขฐานสิบเป็นฐานสอง
n
คำศัพท์ที่จำเป็นต้องทำความรู้จักเพื่อให้เข้าใจตรงกันในการดำเนินการต่างๆ
ในระบบเลขฐานสองมีดังนี้
                                  (1) บิต (bit)
คือหลักแต่ละหลักในระบบเลขฐานสอง เช่น             ประกอบด้วย 3 บิต

            (2) บิตที่มีนัยสำคัญสูงสุด (most
significant bit : MSB)
คือบิตที่อยู่ซ้ายมือสุดเป็นบิตที่มีค่าประจำหลักมากที่สุด เช่น          บิตที่มีนัยสำคัญสูงสุดคือ 1 มีค่าประจำหลักเป็น

            (3)
บิตที่มีนัยสำคัญต่ำสุด
(least significant bit : LSB) คือบิตที่อยู่ขวามือสุดซึ่งเป็นบิตที่มีค่าประจำหลักน้อยที่สุดเช่น            บิตที่มีนัยสำคัญต่ำสุดคือ 0 มีค่าประจำหลักเป็น       ให้สังเกตว่าค่าประจำหลักของบิตที่มีนัยสำคัญต่ำสุดจะมีค่าเป็น เสมอ
ที่มา std.kku.ac.th/4930503320/com
 




การแปลงเลขฐานสองเป็นฐานสิบ การแปลงเลขฐานสองกลับเป็นเลขฐานสิบต้องอาศัยค่าประจำหลักของแต่ละบิตในเลขฐานสองที่ต้องการแปลง
โดยเราจะแยกตัวเลขในแต่ละบิตมาคูณด้วยค่าประจำหลักแล้วนำผลลัพธ์จากการคูณดังกล่าวมารวมกัน
จะได้เลขฐานสิบที่มีค่าตรงกับเลขฐานสอง
ตัวอย่างที่ 1 แสดงการแปลงเลข           ให้อยู่ในรูปเลขฐานสิบ





                            ตัวอย่างที่
2
แสดงการแปลงเลข              ให้อยู่ในรูปเลขฐานสิบ
การบวกเลขฐานสอง
n
การบวกเลขฐานสองมีหลักการเหมือนกับการบวกเลขฐานสิบที่เราคุ้นเคย
เพียงแต่ตัวเลขในแต่ละหลักของเลขฐานสองจะมีค่ามากที่สุดคือ
1 นั่นหมายความว่าในหลักใดๆ
ที่มี
1 บวกกับ 1 จะได้ผลลัพธ์เป็น 0
และทดค่า 1 ไว้ในหลักถัดไปทางซ้ายดังตัวอย่างต่อไปนี้
ตัวอย่าง   แสดงการหาค่า 1001 + 1111




                                 
ตัวอย่าง   แสดงการหาค่า 1001 + 1111




การลบเลขฐานสอง





รหัสแอสกี

(
American
Standard Code Information Interchange :ASCII)
n
เป็นมาตรฐานที่นิยมใช้กันมากในระบบคอมพิวเตอร์และระบบสื่อสารข้อมูล
รหัสแทนข้อมูลชนิดนี้ใช้เลขฐานสองจำนวน
8 บิตหรือเท่ากับ 1 ไบต์แทนอักขระหรือสัญลักษณ์แต่ละตัว ซึ่ง
หมายความว่าการแทนอักขระแต่ละตัวจะประกอบด้วยตัวเลขฐานสอง
8 บิตเรียงกัน
ซึ่งลำดับของแต่ละบิตเป็นดังนี้




ตัวอย่าง  รหัสแทนข้อมูล




จากหลักการของระบบเลขฐานสอง
แต่ละบิตสามารถแทนค่าได้
2
แบบ คือ เลข 0 หรือเลข 1 ถ้าเราเขียนเลขฐานสองเรียงกัน 2 บิตในการแทนอักขระ
เราจะมีรูปแบบในการแทนอักขระได้      หรือ
4 รูปแบบ คือ 00
, 01 , 10 และ11 ดังนั้นในการใช้รหัสแอสกีซึ่งมี8 บิตในการแทนอักขระแล้ว เราจะมีรูปแบบที่ใช้แทนได้ถึง      หรือ256 รูปแบบ
ซึ่งเมื่อใช้แทนตัวอักษรภาษาอังกฤษแล้วยังมีเหลืออยู่
สำนักงานมาตรฐานผลิตภัณฑ์อุตสาหกรรม หรือ สมอ.
จึงได้กำหนดรหัสภาษาไทยเพิ่มลงไปเพื่อให้ใช้งานร่วมกัน ตามตารางแสดงรหัส
ASCII
                         รหัสแทนข้อมูล
                    คอมพิวเตอร์ทำงานด้วยหลักการทางอิเล็กทรอนิกส์ที่แทนสัญญาณทางไฟฟ้าด้วย
ตัวเลขศูนย์และหนึ่งซึ่งเป็นตัวเลขในระบบเลขฐานสอง
แต่ละหลักเรียกว่าบิต (
binary digit : bit)
 และเมื่อนำตัวเลขหลาย ๆ บิตมาเรียงกัน จะใช้สร้างรหัสแทนความหมายจำนวน
หรือตัวอักษร หรือสัญลักษณ์ ทั้งภาษาอังกฤษและภาษาไทยได้
และเพื่อให้การแลกเปลี่ยนข้อความระหว่างมนุษย์กับคอมพิวเตอร์เป็นไปในแนวเดียวกัน
จึงมีการกำหนดมาตรฐานรหัสตัวเลขในระบบเลขฐานสอง
สำหรับแทนสัญลักษณ์เหล่านี้
รหัสมาตรฐานที่นิยมใช้กันมากมีสองกลุ่มคือ
                 เลข 0 และ 1ในระบบฐานสองแต่ละตัว
เรียกว่าบิต (
bit) ย่อมาจากคำว่าBinary Digi บิตเป็นหน่วยเล็กที่สุดในการเก็บข้อมูลด้วยคอมพิวเตอร์
แต่เนื่องจากบิตเดียวไม่สามารถเก็บข้อมูลตัวเลขตัวอักษร และสัญลักษณ์พิเศษต่าง ๆ
ได้ครบ ดังนั้นจึงต้องรวมบิตหลายบิตเข้าเป็นกลุ่มเรียกว่าไบต์
(byte) แต่ละไบต์จะแทนอักษรหนึ่งตัว
ความจุของหน่วยความจำและความจุของที่เก็บข้อมูลสำรองในคอมพิวเตอร์
ซึ่งหน่วยของความจุที่เก็บข้อมูลจะมีหน่วยเป็นหน่วยของไบต์
และหากมีความจุสูงก็อาจใช้หน่วยความจุเป็นกิโลไบต์ (
Kilobyte) โดยหนึ่งกิโลไบต์มีค่าเป็น 1,024 ไบต์ ใช้สัญลักษณ์ KB
หรือ K แทน (บางครั้งอาจใช้ค่าประมาณ1 กิโลไบต์(ประมาณ 1,000 ไบต์) ดังนั้นถ้าหน่วยความจำขนาด 640 กิโลไบต์
จะเก็บข้อมูลได้
640 x 1,024 หรือ 655,360 ไบต์ นอกจากนี้ยังมีหน่วยความจุเป็นเมกะไบต์
                     ปัจจุบันนี้ หน่วยความจำมีความจุมากขึ้นจนอยู่ในหน่วยของจิกะไบต์ (Gigabyte) ซึ่งมีค่าเป็น 1,024
x1,024 x1,024 ไบต์ หรือ 1,073,741,824 ไบต์
ใช้สัญลักษณ์
GB หรือ G แทน
(บางครั้งอาจใช้ค่าประมาณ
1 จิกะไบต์ ประมาณ
1,000,000,000 ไบต์ หรือหนึ่งพันล้านไบต์)
ในเครื่องคอมพิวเตอร์รุ่นเก่าจะมีหน่วยความจำหลักเพียง
640 กิโลไบต์
แต่ในเครื่องคอมพิวเตอร์รุ่นใหม่ จะมีหน่วยความจำหลักที่มีความจุตั้งแต่
8 เมกะไบต์ ถึง 32 เมกะไบต์ หรือมากกว่านี้ ส่วนในเครื่องเมนเฟรมจะมีหน่วยความจำที่มีความจุถึงหน่วยของจิกะไบต์
นอกจากนี้ ในการประมวลผลของคอมพิวเตอร์
                         ในทางทฤษฎีแล้วผู้ใช้สามารถกำหนดรหัสแทนอักขระใด ๆ
ได้เองจากกลุ่มของเลขฐานสอง
8 บิต
แต่ในความเป็นจริงนั้นทำไม่ได้
เพราะหากทำเช่นนั้นอาจเกิดปัญหาระหว่างเครื่องสองเครื่องที่ใช้รหัสต่างกัน
เปรียบเทียบได้กับคนสองคนคุยกันคนละภาษา
ดังนั้นจึงควรมีการกำหนดรหัสแทนข้อมูลที่เป็นสากล เพื่อให้เครื่องคอมพิวเตอร์ต่าง
ๆ สามารถสื่อสารกันได้ รหัสแทนข้อมูลที่นิยมใช้กันในปัจจุบัน 
 เป็นคำย่อมาจาก Extended Binary Coded Decimal Interchange Code พัฒนาและใช้งานโดยบริษัทไอบีเอ็ม
เครื่องคอมพิวเตอร์เมนเฟรมของไอบีเอ็มยังคงใช้รหัสนี้
                             รหัสแอสกี(ASCII)
             เป็นมาตรฐานที่นิยมใช้กันมากในระบบคอมพิวเตอร์ส่วนใหญ่
เป็นคำย่อมาจาก
American Standard Code Information Interchange เป็นรหัส 8 บิต แทนสัญลักษณ์ต่าง ๆ ได้ 256 ตัว เมื่อใช้แทนตัวอักษรภาษาอังกฤษแล้วยังมีเหลืออยู่
สำนักงานมาตรฐานผลิตภัณฑ์อุตสาหกรรม หรือ สมอ. ได้กำหนดรหัสภาษาไทยเพิ่มลงไปเพื่อให้ใช้งานร่วมกันได้
 การแทนข้อมูลในหน่วยความจำ

                
หน่วยความจำหลักของคอมพิวเตอร์เป็นที่เก็บข้อมูลและคำสั่งในขณะประมวลผล
การเก็บข้อมูลในหน่วยความจำเป็นการเก็บรหัสตัวเลขฐานสอง
ข้อมูลที่ใช้ในการประมวลผลทั้งตัวเลขหรือตัวอักษรจะได้รับการแทนเป็นตัวเลขฐานสอง
แล้วเก็บไว้ในหน่วยความจำ เช่น ข้อความว่า
BANGKOK เก็บในคอมพิวเตอร์จะแทนเป็นรหัสเรียงกันไป
              หน่วยความจำของไมโครคอมพิวเตอร์ที่ใช้กันอยู่ในขณะนี้ มีขนาดความกว้าง 8
บิต และเก็บข้อมูลเรียงกันไป โดยมีการกำหนดตำแหน่งซึ่งเรียกว่า
เลขที่อยู่ (
address)

เพื่อให้ข้อมูลที่เก็บมีความถูกต้อง ข้อมูล
วิธีที่ง่ายและนิยมใช้กันคือการเพิ่มอีก
1 บิต เรียกว่า
บิตพาริตีที่เพิ่มเติมเข้าไปจะทำให้ข้อมูลทั้งหมดในส่วนนั้นมีเลข
1 เป็นจำนวนคู่ หรือจำนวนคี่ เช่น
       ในไมโครคอมพิวเตอร์เพิ่มอีก1 บิต เพื่อทำให้เลขหนึ่งเป็นจำนวนคู่ เรียกว่าพาริตีคู่ (even
parity) บิตพาริตีที่เติมสำหรับข้อมูลตัวอักษร A และ E เป็นดังนี้
A 01000001 0 <-- บิตพาริตี
E 01000101 1 <-- บิตพาริตี
ข้อมูลA มีเลข1 สองตัว ซึ่งเป็นจำนวนคู่อยู่แล้ว ดังนั้นจึงใส่บิตพาริตีเป็นเลข
0

ข้อมูล E มีเลข 1 เป็นจำนวนคี่
จึงใส่บิตพาริตีเป็น
1 เพื่อให้มีเลข 1 เป็นจำนวนคู่
                ข้อความ BANGKOK เมื่อเก็บในหน่วยความจำหลักของไมโครคอมพิวเตอร์ที่มีบิตพาริตีด้วย 
         
หน่วยควบคุมของคอมพิวเตอร์ที่อยู่ในซีพียู ทำการอ่านคำสั่งจากหน่วยความจำมาแปลความหมายและกระทำตาม
คำสั่งคอมพิวเตอร์พื้นฐานที่สุดเรียกว่า ภาษาเครื่อง (
machine langauge) ภาษาเครื่องมีลักษณะเป็นรหัสที่ใช้ตัวเลขฐานสอง
ตัวเลขฐานสองเหล่านี้แทนชุดรหัสคำสั่ง คอมพิวเตอร์เครื่องหนึ่งมีคำสั่งที่ใช้ได้หลายร้อยคำสั่ง
แต่ละคำสั่งจะมีความหมายเฉพาะ เช่น คำสั่งนำข้อมูลที่มีค่าเป็น
3 จากหน่วยความจำตำแหน่งที่ 8000 มาบวกกับข้อมูลที่มีค่าเป็น5 ในตำแหน่งที่ 8001 ผลลัพธ์ที่ได้ให้เก็บไว้ในหน่วยความจำตำแหน่งที่8002 เมื่อเขียนคำสั่งเป็นภาษาเครื่องจะมีลักษณะเป็นตัวเลขฐานสองเรียงต่อกันเป็นจำนวนมาก

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

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