ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

การแทนที่ข้อมูลในคอมพิวเตอร์ คอมพิวเตอร์มีการทำงาน 3 ขั้นตอน   ได้แก่ 

          การนำเข้าข้อมูล การประมวลผล และการแสดงผลข้อมูล ซึ่งกระบวนการดังกล่าวเป็นกระบวนการนำเสนอ      สารสนเทศ ให้มนุษย์เข้าใจ แต่ความจริงแล้วทุกสิ่งทุกอย่างที่นำเสนอ ไม่ว่าจะเป็นตัวเลข ตัวอักษร ข้อความ 

  การเว้นวรรค ภาพ เสียง ภาพเคลื่อนไหว หรือคำสั่งต่าง ๆ นั้น เครื่องคอมพิวเตอร์จะใช้ เก็บ ประมวลผลใน

  รูปแบบตัวเลขเท่านั้น และการแสดงผลต่าง ๆ ที่เป็นภาพ ข้อความ หรือเสียง เป็นเพียงหนึ่งในวิธี


  การนำเสนอ โดยใช้กลุ่มข้อมูลตัวเลขมาแปลหรือแสดงผลให้มนุษย์เข้าใจ          1. การแทนที่ข้อมุลด้วยตัวเลข (Representint Data as Number) เลขฐานสิบ (Decimal) เป็นตัวเลขที่        มนุษย์ปัจจุบันใช้ในชีวิตประจำวัน ซึ่งตัวเลขประกอบด้วยเลข 0, 1, 2, 3, ... จนถึงเลข 9 แต่การใช้ตัวเลขดังกล่าว    ไม่สามารถใช้แทนค่าในคอมพิวเตอร์ได้  เนื่องจากคอมพิวเตอร์เป็นอุปกรณ์ดิจิทัลจึงใช้เลขเพียง 2 ค่า ได้แก่ 

  เลข 0 และ เลข 1 เท่านั้น ซึ่งระบบเลขนี้ เรียกว่า เลขฐานสอง (Binary Digit หรือ bit)

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

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

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

  1.2. ไบต์ (byte) กลุ่มบิตที่เรียงต่อกันจำนวน 8 บิต เรียกว่า ไบต์ (byte) ซึ่งกลุ่มบิตที่เรียงกันจำนวน 8 บิต         สามารถสร้างค่าที่แตกต่างกันได้ถึง 256 ค่า โดยแต่ละบิตจะมีเพียง 2 สถานะเท่านั้น ดังนั้นค่า 00000000         เท่ากับค่า 0 ในระบบเลขฐานสิบ และค่า 11111111 เท่ากับ 256 ในระบบเลขฐานสิบ

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

          เลขฐานสอง ( binary numeral system) หมายถึง ระบบเลขที่มีสัญลักษณ์เพียงสองตัวคือ 0 (ศูนย์) 

   กับ 1  (หนึ่ง) บางครั้งอาจหมายถึงการที่มีโอกาสเลือกได้เพียง 2 ทาง เช่น ปิดกับเปิด, ไม่ใช่กับใช่, เท็จกับจริง,       ซ้ายกับขวา เป็นต้น

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

การแปลงค่าตัวเลขระหว่าง เลขฐานสองและเลขฐานสิบ

           คอมพิวเตอร์เก็บค่าจำนวนเต็มบวกในลักษณะของการแปลง ค่าตัวเลขฐานสิบเป็นเลขฐานสองโดยตรง 

   ซึ่งเราอาจทำการแปลงได้  โดยให้ตัวเลขฐานสิบเป็นตัวตั้ง แล้วหารด้วยฐานสองไปเรื่อยๆ จนกระทั้งผลลัพธ์

   เป็นศูนย์ และในการหารแต่และครั้งต้องเขียนเศษที่ได้จากการหารไว้ หลังจากที่หารจนผลหารเป็นศูนย์ เราจะ

   นำเศษที่  ได้ทั้งหมดมาเรียงต่อกัน  โดยให้เศษที่ออกมาก่อนอยู่ทางขวามือจะได้เลขฐานสอง ที่มีค่าจำนวนเต็ม     เท่ากับเลขฐานสิบที่เป็นตัวตั้ง

     ตัวอย่างการแปลงเลขฐานสิบเป็นเลขฐานสอง

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

           สำหรับการแปลงค่าจำนวนเต็มฐานสองให้เป็นฐานสิบนั้น ต้องอาศัยค่าประจำหลักในเลขฐานสิบ แต่ละหลักจะมีค่าประจำหลักอยู่ซึ่งหาได้จากสิบยกกำลังเลขหลัก โดยเลขหลักที่นับจากหลักหน่วย หลักสิบ หลักร้อยและหลักพัน จะมีค่าเป็น 0,1,2และ3ตามลำดับ

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

*ค่าประจำหลักในเลขฐานสิบ

          จากหลักการดังกล่าวนี้ เราสามารถหาค่าของเลขจำนวนใดๆ ได้จากค่าประจำหลักคูณกับตัวเลขในหลักนั้นๆ ดังตัวอย่างการหาค่าของ 243 ดังนี้

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

*การหาค่าของ 243

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

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

*ค่าประจำหลักในเลขฐานสอง

    ตัวอย่างการแปลงเลขฐานสองเป็นเลขฐานสิบ

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

*แสดงการแปลงเลข 100012 ให้อยู่ในรูปฐานสิบ

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

*แสดงการแปลงเลข 1111 00112 ให้อยู่ในรูปฐานสิบ

ตัวอย่าง VDO ประกอบ วิธีการแปลงเลขฐาน

วิดีโอ YouTube


รหัสแทนข้อมูล

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


    1. รหัสบีซีดี
        อุปกรณ์อิเล็กทรอนิกส์ขนาดเล็ก เช่น เครื่องคิดเลข นิยมใช้การเข้ารหัสแบบบีซีดี (Binary Coded decimal

 :BCD) ซึ่งเป็นการแทนตัวเลขแต่ละตัวด้วยรหัสเลขขนาด 4 บิต ที่มีค่าตรงกับตัวเลขนั้นๆ   ดังตัวอย่าง

เลข 0 1 2 3 4 5 6 7 8 9
รหัสบีซีดี 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

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

    2. รหัสแอสกี(American Standard Code for Information Interchange:ASCII)

        การเข้ารหัสแบบแอสกี เป็นแบบที่นิยมใช้กันมากที่สุดในปัจจุบันทั้งสำหรับพีซีและเครื่องให้บริการ (server) ทั่วไป ซึ่งใช้เลขฐานสองจำนวน 8 บิต เข้ารหัสเพื่อแทนอักขระได้ทั้งหมด 256 ตัว โดยที่รหัสทั้งหมดถูกแบ่งออกเป็นสองชุด ชุดละ 128 ตัว ชุดแรกเป็นรหัสที่ใช้แทนรหัสควบคุม ตัวเลขและอักขระภาษาอังกฤษซึ่งเป็นส่วนที่เป็นมาตรฐานสากล สำหรับชุดหลังจำนวน 128 ตัว ถูกนำไปใช้แทนอักขระที่เป็นสัญลักษณ์พิเศษ 

ตัวเลข 8 bit ต่อไปนี้ 0100 0111 มีค่าตรงกับอักษรตัวใดเมื่อเทียบกับตาราง ascii code

*ตารางรหัสแอสกีที่แทนอักขระภาษาอังกฤษและภาษาไทย

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

1010 0100 1100 1101 1100 0001 1011 1110

1101 0100 1100 0111 1110 0000 1011 0101

     1100 1101 1100 0011 1110 1100                      

  ดังตัวอย่าง

เลขฐานสอง อักขระ
1010 0100
1100 1101
1100 0001
1011 1110
1101 0100
1100 0111
1110 0000
1011 0101
1100 1101
1100 0011
1110 1100

    3. รหัสยูนิโค้ด(Unicode)

        การเข้ารหัสยูนิโค้ด ได้ถูกพัฒนาขึ้นเพื่อให้รองรับตัวอักขระภาษาต่างๆ ในโลกได้เกือบทั้งหมด รหัสยูนิโค้ดมีด้วยกันหลายมาตรฐาน เช่น UTF-16 และ UTF-8 สำหรับแบบ UTF-8 ถูกออกแบบให้ใช้งานร่วมกับการเก็บข้อมูลที่มีการเข้ารหัสแบบแอสกีได้ง่าย และมีการรองรับการใช้งานในหลายระบบปฏิบัติการสมัยใหม่