วันพุธที่ 25 มกราคม พ.ศ. 2555

การแปลงเลขฐาน


        
      การแปลงเลขฐาน 10 ให้เป็นเลขฐาน 2 ทำได้โดยเอาเลขฐานสิบตั้ง แล้วหารด้วยเลข 2 ไปเรื่อย ๆ จนกระทั่งผลลัพธ์เป็น "0" ในการหารนั้นจะต้องเขียนเศษไว้ทุกครั้ง จากนั้นให้เขียนเศษที่ได้จากการหารโดยเรียงลำดับจากด้านล่างขึ้นด้านบน
 
ตัวอย่าง   จงแปลง   ให้อยู่ในรูปเลขฐานสอง
ผลลัพธ์ของการแปลง      ให้อยู่ในรูปเลขฐาน 2  คือ    

        (1) การแปลงเลขฐานสิบเป็นฐานสอง
      คำศัพท์ที่จำเป็นต้องทำความรู้จักเพื่อให้เข้าใจตรงกันในการดำเนินการต่างๆ ในระบบเลขฐานสองมีดังนี้
 (ก) บิต (bit) คือหลักแต่ละหลักในระบบเลขฐานสอง เช่น 1102 ประกอบด้วย 3 บิต
            (ข) บิตที่มีนัยสำคัญสูงสุด (most significant bit : MSB) คือบิตที่อยู่ซ้ายมือสุดเป็นบิตที่มีค่าประจำหลักมากที่สุด เช่น 1002 บิตที่มีนัยสำคัญสูงสุดคือ 1 มีค่าประจำหลักเป็น 22
            (ค) บิตที่มีนัยสำคัญต่ำสุด (least significant bit : LSB) คือบิตที่อยู่ขวามือสุดซึ่งเป็นบิตที่มีค่าประจำหลักน้อยที่สุดเช่น 1102 บิตที่มีนัยสำคัญต่ำสุดคือ 0 มีค่าประจำหลักเป็น 20 ให้สังเกตว่าค่าประจำหลักของบิตที่มีนัยสำคัญต่ำสุดจะมีค่าเป็น 20 เสมอ
     การแปลงเลขฐานสิบให้เป็นฐานสองนั้นเราอาจใช้วิธีการหาร โดยให้ตัวเลขฐานสิบเป็นตัวตั้ง แล้วหารด้วยเลข 2 ไปเรื่อยๆ จนกระทั่งผลหารเป็น 0 และในการหารแต่ละครั้งต้องเขียนเศษที่ได้จากการหารไว้ หลังจากที่หารจนผลหารเป็น 0 เราจะได้เลขฐานสองที่มีค่าเท่ากับเลขฐานสิบที่เป็นตัวตั้งโดยการเขียนเศษที่ได้จากการหารแต่ละครั้งจากล่างขึ้นบน ดังตัวอย่างต่อไปนี้
       
ตัวอย่าง  แสดงการแปลง 29 ซึ่งเป็นเลขฐานสิบให้อยู่ในรูปเลขฐานสอง
 
 
วิธีทำ      
 
       
2)29
  1. เริ่มต้นโดยเอา 29 ตั้งแล้วหารด้วย 2
2)14
เศษ 1 2. จากข้อ 1 ได้ผลลัพธ์เป็น 14 เศษ 1
2)7_
เศษ 0 3. ผลลัพธ์จากข้อ 2 หารด้วย 2 ผลลัพธ์เป็น 7 เศษ 0
2)3_
เศษ 1 4. ผลลัพธ์จากข้อ 3 หารด้วย 2 ผลลัพธ์เป็น 3 เศษ 1
2)1_
เศษ 1 5. ผลลัพธ์จากข้อ 4 หารด้วย 2 ผลลัพธ์เป็น 1 เศษ 1
0
เศษ 1 6. ผลลัพธ์จากข้อ 5 หารด้วย 2 ผลลัพธ์เป็น 0 เศษ 1
111012
7. เมื่อหารจนกระทั่งผลหารเป็น 0 เขียนเศษทั้งหมดที่ได้จากการหารทั้งหมดเรียงกันจากล่างขึ้นบน จะได้รูปแบบของเลขฐานสองที่มีค่าเท่ากับ 2910 


 
 
     การแปลงเลขฐานสองกลับเป็นเลขฐานสิบต้องอาศัยค่าประจำหลักของแต่ละบิตในเลขฐานสองที่ต้องการแปลง โดยเราจะแยกตัวเลขในแต่ละบิตมาคูณด้วยค่าประจำหลักแล้วนำผลลัพธ์จากการคูณดังกล่าวมารวมกัน จะได้เลขฐานสิบที่มีค่าตรงกับเลขฐานสองดังตัวอย่างต่อไปนี้
 
 
  ตัวอย่างที่ 1 แสดงการแปลงเลข 100012 ให้อยู่ในรูปเลขฐานสิบ  
 
100012 = (1 x 24) + (0 x 23) + (0 x 22) + (0 x 21) + (1 x 20)
  = 16 + 0 + 0 + 0 +1
  = 17
 
 
ตัวอย่างที่ 2 แสดงการแปลงเลข 1001112 ให้อยู่ในรูปเลขฐานสิบ
 
 
1001112 = (1 x 25) + (0 x 24) + (0 x 23) + (1 x 22) + (1 x 21) + (1 x 20)
  = 32 + 0 + 0 + 4 + 2 + 1
  = 39

การบวกเลขฐานสอง  
             การบวกเลขฐานสองมีหลักการเหมือนกับการบวกเลขฐานสิบที่เราคุ้นเคย เพียงแต่ตัวเลขในแต่ละหลักของเลขฐานสองจะมีค่ามากที่สุดคือ 1 นั่นหมายความว่าในหลักใดๆ ที่มี 1 บวกกับ 1 จะได้ผลลัพธ์เป็น 0 และทดค่า 1 ไว้ในหลักถัดไปทางซ้ายดังตัวอย่างต่อไปนี้  
 
1. การบวกเริ่มจากพิจารณาจากหลักที่มีนัยสำคัญต่ำสุดนั่นคือหลักที่ 5
2. หลักที่ 5 เป็น 1+ 0 ได้ผลลัพธ์เป็น 1 ไม่มีการทด
3. หลักที่ 4 เป็น 1+ 1 ได้ผลลัพธ์เป็น 0 ทด 1
4. หลักที่ 3 เป็น 0 + 0 ได้ 0 แต่มีการทดจากหลักที่แล้ว เมื่อบวกกับตัวทด ได้ผลลัพธ์เป็น 1 ไม่มีการทด
5. หลักที่ 2 เป็น 0 + 1 ได้ผลลัพธ์เป็น 1 ไม่มีการทด
6. หลักที่ 1 ได้ผลลัพธ์เป็น 1 เหมือนเดิม
7. ผลลัพธ์เป็น 111012


ตัวอย่าง  แสดงการหาค่า 1001 + 1111  
  วิธีทำ  
 
1. การบวกเริ่มจากพิจารณาจากหลักที่มีนัยสำคัญต่ำสุดนั่นคือหลักที่ 5
2. หลักที่ 5 เป็น 1+ 1 ได้ผลลัพธ์เป็น 0 ทด 1
3. หลักที่ 4 เป็น 0 + 1 ได้ 1 แต่มีการทดจากหลักที่แล้ว เมื่อบวกกับตัวทด ได้ผลลัพธ์เป็น 0 และมีการทดไปยังหลักทางซ้าย 1
4. หลักที่ 3 เป็น 0 + 1 ได้ 1 แต่มีการทดจากหลักที่แล้ว เมื่อบวกกับตัวทด ได้ผลลัพธ์เป็น 0 และมีการทดไปยังหลักทางซ้าย 1
5. หลักที่ 2 เป็น 1 + 1 ได้ 0 แต่มีการทดจากหลักที่แล้ว เมื่อบวกกับตัวทด ได้ผลลัพธ์เป็น 1 และมีการทดไปยังหลักทางซ้าย 1
6. หลักที่ 1 จากตัวทดจากหลักที่แล้วได้ผลลัพธ์เป็น 1 เหมือนเดิม
7. ผลลัพธ์เป็น 110002

การลบเลขฐานสอง  
 
     การลบเลขฐานสองก็เช่นเดียวกับการลบเลขฐานสิบ คือพิจารณาเอาเลขที่เป็นตัวตั้งลบด้วยตัวลบทีละหลัก หากตัวตั้งเป็น 1 ตัวลบเป็น 0 ผลลัพธ์ได้เป็น 1 แต่ถ้าตัวตั้งเป็น 0 และตัวลบเป็น 1 ต้องมีการดึงค่าในหลักที่อยู่ทางซ้ายมาได้ผลลัพธ์เป็น 1 และมีผลให้ค่าของหลักที่ถูกดึงมามีค่าเป็น 0 ดังตัวอย่างต่อไปนี้
ตัวอย่างที่ 1 แสดงการหาค่า 10011 - 1010
 
 
1. การลบเริ่มพิจารณาจากหลักที่มีนัยสำคัญต่ำสุดนั่นคือหลักที่ 5
2. หลักที่ 5 เป็น 1 - 0 ได้ผลลัพธ์เป็น 1
3. หลักที่ 4 เป็น 1 - 1 ได้ผลลัพธ์เป็น 0
4. หลักที่ 3 เป็น 0 - 0 ได้ 0
5. หลักที่ 2 เป็น 0 - 1 ต้องดึงค่าจากหลักที่อยู่ทางซ้าย คือ 10 มาช่วยเป็น 10 - 1 ได้ผลลัพธ์เป็น 1
6. หลักที่ 1 ถูกหลักที่อยู่ทางขวาดึงไป ทำให้เหลือค่าเป็น 0
7. ผลลัพธ์เป็น 10012

ตัวอย่าง   แสดงการหาค่า 11001 - 1111  
   
1. การลบเริ่มพิจารณาจากหลักที่มีนัยสำคัญต่ำสุดนั่นคือหลักที่ 5
2. หลักที่ 5 เป็น 1 - 1 ได้ผลลัพธ์เป็น 0
3. หลักที่ 4 เป็น 0 - 1 ต้องดึงค่าจากหลักที่อยู่ทางซ้าย คือ 10 มาช่วยเป็น 10 - 1 ได้ผลลัพธ์เป็น 1
4. หลักที่ 3 หลังจากหลักที่อยู่ทางขวาดึงค่าไป ทำให้เหลือค่าเป็น 1 และ 1-1 ได้ 0
5. หลักที่ 2 ในทำนองเดียวกับหลักที่ 3 เหลือค่า 0 ทำให้ต้องยืมค่ามาจากหลักที่ 1 เป็น 10 - 1 ทำให้ได้ผลลัพธ์เป็น 1
6. หลักที่ 1 ถูกหลักที่อยู่ทางขวาดึงไป ทำให้เหลือค่าเป็น 0
7. ผลลัพธ์เป็น 10102
 
     
        เมื่อมนุษย์สามารถแปลงเลขฐานสิบเป็นฐานสอง และแปลงเลขฐานสองกลับเป็น เลขฐานสิบได้ ก็สามารถเขียนโปรแกรมเพื่อสั่งการคอมพิวเตอร์ทำงานได้ตามที่ต้องการ และพัฒนาวิธีการในการสื่อสารหรือสั่งการคอมพิวเตอร์มาเรื่อยๆ จนในปัจจุบันผู้ใช้คอมพิวเตอร์ทั่วไปอาจไม่ต้องทำความเข้าใจการทำงานของคอมพิวเตอร์อย่างลึกซึ้งเช่นนี้ เนื่องจากมีบุคลากรที่ทำหน้าที่คิดค้นโปรแกรมที่สามารรับข้อความ หรือคำสั่งในรูปแบบของภาษาและระบบตัวเลขที่ผู้ใช้คุ้นเคย แล้วแปลความหมายเป็นเลขฐานสองก่อนส่งให้เครื่องคอมพิวเตอร์ประมวลผล

การแปลงเลขหลังทศนิยม (เศษส่วน) ฐานสิบ (Fractional Decimal Numbers) ให้เป็นฐานสอง

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

ตัวอย่าง ต้องการแปลงเลข (0.65625)10 เป็นเลขฐานสอง
    พิจารณาทีละจุด
        นำ 0.65625 คูณด้วย 2 ได้ค่าเท่ากับ 1.31250
            * ค่า 1 (เลขก่อนทศนิยม) จะเป็นค่าหลักแรกของค่าเลขฐานสอง
            * นำ .31250 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป

        นำ 0.31250 คูณด้วย 2 ได้ค่าเท่ากับ 0.62500
            * ค่า 0 (เลขก่อนทศนิยม) จะเป็นค่าหลักที่สองของค่าเลขฐานสอง
            * นำ .62500 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป

        นำ 0.62500 คูณด้วย 2 ได้ค่าเท่ากับ 1.25000
            * ค่า 1 (เลขก่อนทศนิยม) จะเป็นค่าหลักที่สามของค่าเลขฐานสอง
            * นำ .25000 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป

        นำ 0.25000 คูณด้วย 2 ได้ค่าเท่ากับ 0.50000
            * ค่า 0 (เลขก่อนทศนิยม) จะเป็นค่าหลักที่สี่ของค่าเลขฐานสอง
            * นำ .50000 (เลขหลังทศนิยม) ไปเป็นตัวตั้งในการคูณครั้งถัดไป

        นำ 0.5000 คูณด้วย 2 ได้ค่าเท่ากับ 1.00000
            * ค่า 1 (เลขก่อนทศนิยม) จะเป็นค่าหลักที่ห้าของค่าเลขฐานสอง
            * เนื่องจากเลขหลังทศนิยมเท่ากับ .00000 จึงไม่ต้องคูณต่อ

        นำเลขก่อนทศนิยมของการคูณแต่ละครั้ง มาเขียนเรียงกัน จะได้ค่าเท่ากับ 10101 ดังนั้นเลขทศนิยมฐานสิบ 0.65625 จะเท่ากับ 0.10101 ในฐานสอง

 math

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

           การแปลงเลขฐานสิบเป็นเลขฐานสอง
                            การแปลงเลขฐานสิบให้เป็นเลขฐานสองนั้นโดยทั่วไปทำได้ 2 วิธี คือ
                วิธีที่ 1  มีวิธีการทำดังนี้ 
                    ก. ใช้กฎ  โดยวิธีใช้ 2 ยกกำลังค่าสูงสุดแล้วค่าไม่เกินเลขฐานสิบ
                        จำนวนที่ต้องการเปลี่ยนเป็นฐานสองนั้นๆ  แล้วเอาเลขที่ได้จากการใช้ 2 ยกกำลังไปลบออกจากเลขฐานสิบตัวตั้งที่ต้องการเปลี่ยน
                   ข. ใช้ 2 ยกกำลังค่าสูงสุดที่ไม่เกินเลขฐานสิบ ผลลัพธ์ได้จากการตั้งลบในข้อ  ก. แล้ว เอาเลขที่ได้จากการใช้ 2 ยกกำลังไปลบออก
                        เหมือนกับในข้อ ก. ทำซ้ำๆกันหลายครั้ง จนกระทั่งหมดเลขฐานสิบ ซึ่งเป็นตัวตั้ง แล้วนำเอาสัมประสิทธิ์ของเลขยกกำลังมาเขียน
                        เป็น เลขฐานสอง
                   ค. ในการเขียนเลขฐานสอง ให้ถือสัมประสิทธิ์ หรือเศษจากการลบครั้งแรก เป็นหลักสูงสุดของเลขฐานสองและเรียงลำดับไปเรื่อยๆ
                         ถ้าหากหลักใดไม่มีสัมประสิทธิ์หรือเศษให้คิดค่าฐานสองเป็น  0
         ตัวอย่าง   จงแปลง         เป็นฐานสอง
                                                         
             เราหาจำนวนหลักของเลขฐานสองได้โดยสังเกตจากการใช้ 2 ยกกำลังสูงสุด (ซึ่งปกติหลักแรกจะต้องเป็น 2 ยกกำลังสูงสุดลบด้วย 1)  ดังนั้น
        จำนวนหลักของเลขฐานสอง คือ  กำลังของฐานสอง  หลักสูงสุดบวกด้วย 1  ในตัวอย่างที่ 1.5  คือ  เป็นค่าที่ได้จากการใช้ 2 ยกกำลังสูงสุด  
        ดังนั้นจำนวนหลักของเลขฐานสอง คือ  4+1 = 5  หรือ n = 5 นั่นเอง  ซึ่งถ้าเขียนตามกฎที่กล่าวมาแล้วจะได้ว่า
                                                                 
                                                                          
       ตัวอย่าง    จงแปลง       เป็นฐานสอง

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





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

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