เรื่องระบบคอมพิวเตอร์และสถาปัตยกรรม มีจุดมุ่งหมายเพื่อให้เข้าใจถึง องค์ประกอบและวิวัฒนาการคอมพิวเตอร์และสถาปัตยกรรม สามารถบอกหน้าที่ และ การทำงานของระบบคอมพิวเตอร์ทั้งการทำงาน ด้าน ฮาร์แวร์ ซอฟแวร์ เข้าใจถึง ระบบบัส หน่วยความจำภายในและภายนอก การนำข้อมูลเข้าและการส่งออกข้อมูล การคำนวณทางคณิตศาสตร์ รูปแบบคำสั่งและการบ่งตำแหน่งที่อยู่ เรื่องโครงสร้างและหน้าที่ของซีพียู

บทที่ 7 การคำนวณทางคณิตศาสตร์

การคำนวณทางคณิตศาสตร์

                                  ตารางแสดงการเปรียบเทียบเลขฐานสิบ ฐานสอง ฐานแปด ฐานสิบหก

เลขฐานสิบ
เลขฐานสอง
เลขฐานแปด
เลขฐานสิบหก
0
0
0
0
1
1
1
1
2
10
2
2
3
11
3
3
4
100
4
4
5
101
5
5
6
110
6
6
7
111
7
7
8
1000
10
8
9
1001
11
9
10
1010
12
A
11
1011
13
B
12
1100
14
C
13
1101
15
D
14
1110
6
E
15
1111
17
F
16
10000
20
10
17
10001
21
11
 .
.
.
.
.
 .
.
.
 .
.
.
30
11110
36
1E
31
11111
37
1F
            ข้อสังเกต  1. เลขฐานใดๆ จะมีตัวเลขน้อยกว่าฐานนั้นๆ อยู่ 1 เสมอ
การแทนลักษณะข้อมูลในคอมพิวเตอร์
          การแทนข้อมูลด้วยเลขฐานสอง(Binary) การแทนด้วยระบบเลขฐานแปด (Octal) และแทนด้วยข้อมูลระบบเลขฐานสิบหก (Hexadecimal) เพราะระบบตัวเลขทั้งสาม นำมาใช้กับระบบคอมพิวเตอร์ปัจจุบันเป็นส่วนมาก
         ตัวเลขที่เราใช้อยู่ในปัจจุบัน มีส่วนสำคัญ 2 ส่วนคือ สัญลักษณ์ และมูลค่า ในการเขียนจำนวนเลขจะต้องมีเลขฐานกำกับไว้ทุกครั้ง ไม่เช่นนั้นอาจเข้าใจผิดกันได้ เช่น จำนวน 123 อาจเป็นได้ทั้งเลขฐาน 5,8,10,16 ก็ได้ถ้าราไม่เขียนฐานกำกับไว้ชัดเจน จะยกเว้นจำนวนเลขที่ไม่ต้องเขียนฐานกำกับไว้ก็ได้ เฉพาะเลขฐานสิบเท่านั้น เพราะเราคุ้นเคยกันจึงยกเว้นให้ ส่วนเลขฐานอื่นๆ จะต้องเขียนเลขกำกับไว้ทุกครั้ง
       1 การแปลงเลขฐานสิบเป็นฐานสอง
       3.1.1   การแปลงเลขจำนวนเต็ม
วิธีการแปลงที่ 1 โดยการลบ
       1.เอา 2โดยให้มีค่าใกล้เคียงหรือเท่ากับเลขฐานสิบที่ต้องการจะแปลงโดยค่ายกกำลังลดลงทีละ 1
       2.เอาค่าที่ยกกำลังที่ได้จากขั้นที่ 1 มาลบออกจากเลขฐานสิบนั้นถ้าลบได้ใส่ 1 ถ้าลบไม่ได้ใส่ 0 เริ่มจากซ้ายมือ
       3.ทำไปเรื่อยๆ จนหมด แล้วนำเลขที่ลบได้หรือไม่ได้มาวางเรียงโดยเริ่มจากซ้ายมือ
ตัวอย่าง 3.1 แปลงเลขฐานสิบ 29 ไปเป็นเลขฐานสอง

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

                3.1.2 การแปลงเลขทศนิยมฐานสิบเป็นเลขฐานสอง
      กรณีเลขฐานสิบเป็นทศนิยม เราก็สามารถทำได้โดยการคูณเลขทศนิยมด้วย 2 ทุกๆ ครั้งที่คูณ ส่วนที่เป็นจำนวนเต็มในผลคูณ เราจะนำมาเป็นค่าของเลขฐานสอง แล้วนำค่าที่เป็นทศนิยมมาคูณด้วยสองอีก ทำไปเรื่อยๆจนกว่าจะไม่มีค่าหลังสุด แต่กรณีเป็นเลขทศนิยมไม่รู้จบก็จะตัดเอาตามจำนวนที่ต้องการ
ตัวอย่าง 3.3 จงแปลง 0.725 เป็นเลขฐานสอง


วิธีการแปลงทศนิยมเลขฐานสิบเป็นฐานสอง
1. เขียนตัวเลขที่จะแปลง
2. นำตัวเลขนั้นมาคูณกับ 2 ผลลัพธ์ที่ได้ ให้สนใจเฉพาะเลขจำนวนเต็ม ซึ่งอาจจะเป็น 0 หรือ 1  ก็ได้ ส่วนชุดตัวเลขหลังจุดทศนิยมทางขวามือ ให้นำมาเริ่มทำเหมือน ข้อ 2 ใหม่
3 ให้ดำเนินการไปเรื่อยๆ จนกว่าเลขทศนิยมจะเป็น 0 เป็นตัวเลขวนซ้ำ หรือเป็นทศนิยมไม่รู้จบให้หยุดทำงาน
ข้อสังเกต   1.เลขฐานสิบที่ต้องการแปลงเป็นฐานสองจะนำมาคูณ หรือ หารกับ เลข 2 เท้านั้น  เนื่องจาก แปลงจากฐานสิบ ไปเป็น ฐานสอง
    2.วิธีการตอบกรณีเป็นจำนวนเต็มจะเขียนคำตอบจากล่างขึ้นบนกรณีเป็นทศนิยมจะเขียนคำตอบจากบนลงล่าง
             3.2 การแปลงเลขฐานสิบเป็นฐานแปด
วิธีการทำใช้หลักการเดียวกับการแปลงเลขฐานสิบเป็นฐานสอง ให้คูณหรือหารด้วยเลขฐาน โดยมี 2 กรณี
การแปลงเลขจำนวนเต็ม  ต้องหารด้วยฐาน คือ 8
ตัวอย่าง 3.4 จงแปลง 356 ฐานสิบ เป็นเลขฐานแปด
              8)  356      =  8 x 44    = 352     นำ   356 – 352   จะได้    เศษ  =  4
              8)   44       =   8 x 5     = 40       นำ   44 – 40       จะได้เศษ     = 4
         5.ตอบได้เพราะตัวตั้ง (5) มีค่าน้อยกว่าตัวหาร (8)
ดังนั้น  (356)10   =   (544)8
 การแปลงทศนิยม  ต้องคูณด้วยฐาน คือ 8
       ตัวอย่าง 3.5 จงแปลง   0.72   ฐานสิบ เป็นเลขฐานแปด
       72 x 8   =   5.76   เหลือ   .76   ใส่   5
       76 x 8   =   6.08   เหลือ   .08   ใส่   6
       08 x 8   =   0.64   เหลือ   .64   ใส่   0
       64 x 8   =   5.12   เหลือ   .12   ใส่   5
       12 x 8   =   0.96   เหลือ   .96   ใส่   0      
       96 x 8   =   7.68   เหลือ   .68   ใส่   7
       68 x 8   =   5.44   เหลือ   .44   ใส่   5
       44 x 8   =   3.52   เหลือ   .52   ใส่   3
       ตอบ       (0.72)10    =   (0.56050753)
                2  (0.72)10      =   (0.56)2

    3.3 การแปลงเลขฐานสิบเป็นฐานสิบหก
   วิธีการทำใช้หลักการเดียวกับการแปลงเลขฐานสิบเป็นฐานแปด ให้คูณหรือหารด้วยเลขฐาน โดยมี 2 กรณี
1.2.1  การแปลงเลขจำนวนเต็ม  ต้องหารด้วยฐาน คือ 16
        ตัวอย่าง 3.6 จงแปลง 2531 ฐานสิบ เป็นเลขฐานสิ
        16)  2531  =  16 x 157 = 2528 นำ   2531 – 2528   จะได้เศษ  = 3
       16)   158    = 16 x 9 = 144  นำ 158 – 144 จะได้เศษ    = 14 --> E  9
                  ตอบได้เพราะตัวตั้ง (9) มีค่าน้อยกว่าตัวหาร (16)
                  ดังนั้น  (2531)10   =   (9E3)16
1.2.2     การแปลงทศนิยม  ต้องคูณด้วยฐาน คือ16
        ตัวอย่าง 3.7 จงแปลง   0.85   ฐานสิบ เป็นเลขฐานสิบหก
        85 x 16   =   13  .60   เหลือ   .60   ใส่   13
        60 x 16   =    9  .60   เหลือ   .60   ใส่   9
       ดังนั้นจะได้  =  13   9
       = . D9  ( 13 = D ในเลขฐานสิบหก)
        ตอบ      (0.85)10    =   (0.D9)16
       ข้อสังเกต       เลขฐานสิบหก   จะใส่สัญลักษณ์ที่เป็นภาษาอังกฤษ   แทนตัวเลขตั้งแต่  10  ถึง  15
       เช่น จากตัวอย่างที่ 3.7 ใส่  E  แทน  14  เวลาตอบ
         ต้องตอบเป็น        5E16        (ห้าอีฐานสิบหก)
         ไม่ใช่ตอบ             51416      (ห้าสิบสี่ฐานสิบหก)
        3.4  การแปลงเลขฐานสองเป็นฐานสิบ
        3.4.1  การแปลงเลขจำนวนเต็ม เราสามารถทำการแปลงจากเลขฐานสอง  ไปเป็นเลขฐานอื่นๆ ที่เราถนัดก่อน เช่น แปลงไปเป็นเลขฐานแปด หรือเลข ฐานสิบหก ก่อนแล้วนำผลที่ได้ ไปแปลงเป็นเลขฐานสิบ
                ตัวอย่าง 3.8  จงแปลงเลข  11102 เป็นเลขฐานสิบ
                11102     =   (1x23) + (1x22) + (1x21) + (0x20)
                             =    (1x8) + (1x4) + (1x2) + (0x1)                            
                             =     8     +     4    +    2    +    0                  
                11102     =    1410  หรือ 11102     =   14
   วิธีการแปลง  1.เขียนเลขฐานสองที่จะแปลง  1  1  1  0
                    2.หาค่าประจำหลักโดยเริ่มจากหลักหน่วยในที่นี้คือ   0   จะได้   13   12   11   00
                                3.นำเลขแต่ละหลักมาคูณกับค่าของฐาน  คือ  2  ยกกำลัง ค่าประจำหลักจากข้อ 2 และนำแต่ละหลักมาบวกกัน (1x23) + (1x22) + (1x21) + (0x20)
                    4.หาค่าจากการยกกำลัง   (1x8)  + (1x4)  + (1x2)  + (0x1) แล้วคูณกับเลขแต่ละหลัก
                    5. นำแต่ละหลักมาบวกกัน   8 + 4 + 2 + 0  =  14
           3.4.2 การแปลงเลขเลขทศนิยม
          ใช้หลักการเดียวกับการแปลงเลขจำนวนเต็มฐานสองไปเป็นฐานสิบ  แต่ค่าประจำหลักของแต่ละหลักจะติดลบ  เพราะเป็นจำนวนเลขที่อยู่หลังทศนิยม
                ตัวอย่าง 3.9  จงแปลงเลข  0.0112 เป็นเลขฐานสิบ
                0.0112        =    (0x20) + (0x2-1) + (1x2-2) + (1x2-3)            
                                =     0      +     0      + (1/4)    +  (1/8)           
                                =     0      +     0      +   0. 25  +  0.125
                0.0112        =    0.37510 
           วิธีการแปลง  1. เขียนเลขฐานสองที่จะแปลง  0.011
            2. หาค่าประจำหลักของเลขทศนิยมโดยเริ่มจากหลักซ้ายสุดที่อยู่ติดกับเลขทศนิยม
0  =  0-1 , 1  =   1-2 ,1  =  1-3   โดยค่าประจำหลักจะลดลงที่ละหนึ่ง   จากซ้ายที่ติดกับจุดทศนิยม   ไปทางขวา   (หลักการหาค่าจะตรงกันข้ามจำนวนเต็ม)
            3. นำเลขแต่ละหลักมาคูณกับค่าของฐาน คือ  2 ยกกำลังค่าประจำหลักจากข้อ 2 และนำแต่ละหลักมาบวกกัน (0x2-1) + (1x2-2) + (1x2-3)
            4. หาค่าจากการยกกำลัง   (0 x 1/2) + (0 x 1/4) + (11/8)  แล้วคูณกับเลขในแต่ละหลัก            
            5. นำแต่ละหลักมาบวกกัน   0    +     0.25    +    0.125   =   0.375
          ข้อสังเกต จะต้องนำตัวเลขแต่ละหลักที่ต้องการแปลง  มาทำการคูณกับเลข 2 ยกกำลังค่าประจำหลักของแต่ละหลัก  (เพราะแปลงฐานสองไปเป็นฐานสิบ จะต้องคูณกับ 2 เท่านั้น)
          สรุป  วิธีการแปลงฐานสองให้เป็นเลขฐานสิบได้ดังนี้
         วิธีที่ 1.  เขียนเลขฐานสองที่ต้องการจะแปลง
         2.  เขียนค่าประจำหลักแสดงไว้โดยใช้ฐาน  2  ยกกำลัง  โดยเริ่มจากขวา เป็นค่ายกกำลัง 20 21 22 23 24 ไปเรื่อยๆ จนหมดเลขที่จะนำมาแปลง  ในกรณีที่เป็นทศนิยม จะเริ่มจากซ้าย  เป็นค่ายกกำลัง  2-1 2-2 2-3 2-4 ไปเรื่อยๆ จนหมดเลขที่จะนำมาแปลง
         3. เลขฐานสองที่อยู่ในหลักใดเป็นศูนย์ ให้ตัดออกไม่ต้องนำมาคำนวณ  ให้นำเลขฐานสองที่มีค่า ประจำหลักเป็นหนึ่งเท่านั้นจึงนำมาหาค่า
         4. นำผลที่ได้จากการเอา 2 ยกกำลังค่าประจำหลัก ของแต่ละหลัก จากข้อ มาบวกกันทุกหลักจะได้ผลลัพธ์นั่นคือค่าของเลขฐานสิบที่มีค่าตรงกับค่าของเลขฐานสองนั้นๆ
วิธีที่ 2  1. เขียนเลขฐานสองที่ต้องการนำมาแปลง
        2. เขียนค่าประจำหลักโดยใช้สูตร 2 ยกกำลังเพิ่มขึ้นทีละ 1 เช่น ถ้ามีเลขที่ต้องการแปลง 4 ตัวจะได้ สูตร   8   4   2  1   ตั้งให้ตรงหลักโดยของเลขฐานสองนั้น
        3.  ให้นำค่าประจำหลักในข้อ 2 มารวมกัน โดยพิจารณาเฉพาะค่าที่ตรงกับหลักเลขฐานสอง ที่เป็น 1 ถ้าตรงกับเลขฐานสองที่มีค่าเป็น 0 (ศูนย์) ไม่ต้องพิจารณา
   ตัวอย่าง 3.10 จงแปลง 11102  เป็นเลขฐานสิบ
วิธีที่ 1    11102                     =  (1x23)+ (1x22)+ (1x21)+ (0x20)
                                         =    8    +     4    +     2    +   0
                                         =   (14)10
 วิธีที่ 2    11102                     =      1              1              1              0
                                                     8               4              2              1
                                          =      8    +     4     +     2     +   0
                                          =      (14)10
 ตัวอย่าง 3.11 จงแปลง 100011012  เป็นเลขฐานสิบ
วิธีที่ 1 100011012            =    (1x27)+ (0x26)+ (0x25)+ (0x24)+ (1x23)+ (1x22)+ (0x21)+ (1x20)
                                    =    (1x27)+ (1x23)+ (1x22)+ (1x20)
                                    =     128    +     8    +     4    +     1
                                    =     (141)10
          3.5 การแปลงเลขฐานสองเป็นเลขฐานแปด
ในการแปลงเลขฐานสองเป็นเลขฐานแปดนั้นมีการดำเนินการหลายวิธี ในกรณีนี้เลือกมาให้ศึกษาในกรณีที่คิดว่าง่ายที่สุด โดยการแบ่งกลุ่มเลขฐานสองออกเป็นชุด ชุดละ 3 บิต(ตัว) ของเลขฐานสองที่ต้องการจะแปลง
         3.5.1    การแปลงเลขจำนวนเต็มฐานสองเป็นฐานแปด
       วิธีการแปลง
1.   เขียนตัวเลขฐานสองที่ต้องการจะแปลงเป็นเลขฐานแปด
2.   แบ่งช่วงเลขจากด้านขวา (จากหลักหน่วย) มาเป็นชุดตัวเลข โดยแบ่งชุดละ 3 ตัว (3 บิต) เพราะได้จาก 23 = 2  คูณกัน 3 ครั้ง ( 2x2x2 ) = 8 จึงเรียกว่าเลขฐานแปด  ถ้าชุดตัวเลขไม่ครบ 3 ตัว ให้เติม 0 ลงไปด้านซ้ายมือให้ครบ 3 ตัว เช่น
2.1      1001102         =            100   110                 แสดงว่าได้เลข  2 ชุด
2.2      1100011101   =      001   100   011   101        แสดงว่าได้เลข  4 ชุด
                            เติม 0 ทางซ้ายมือ เพื่อให้ครบ 3 ตัว (3 บิต)
        3. เขียนเลขประจำหลักแต่ละหลักแต่ละหลัก เริ่มจากหลักหน่วย ดังนี้   4   2   1   เพราะ 4+2+1 = 7 เป็นตัวเลขสูงสุดของฐานแปด ได้จาก 22 = 4  ,  21 = 2  ,  20 = 1  ซึ่งเราเรียกว่าค่าประจำหลัก
       4.หลังจากแบ่งชุดตัวเลขฐานสองในข้อ  2  เสร็จแล้ว  ให้พิจารณาว่าถ้าเลขฐานสองตำแหน่งใดเป็น  0 ให้ตัดทิ้ง  ไม่ต้องนำมารวม ถ้าเลขหลักใดเป็น  1  ให้นำค่าประจำหลักมารวมกันในชุดตัวเลขชุดนั้น  แล้วนำค่าตัวเลขของแต่ละชุดมาเขียนเรียงกัน
        3.5.2 การแปลงทศนิยมฐานสองเป็นฐานแปด
       วิธีการแปลง  หลักการแปลง ทำเหมือนกันกับการแปลงจำนวนเต็มฐานสองเป็นฐานแปด แต่การแบ่งชุดของตัวเลขชุดละ 3 ตัวให้เริ่มนับจากตัวเลขถัดจากจุดทศนิยม(ด้านซ้ายมือสุดติดจับจุดทศนิยม) โดยใช้  4  2  1 เหมือนกัน และถ้าชุดใดมีตัวเลขไม่ครบ 3 ตัว ก็ให้เติม 0 ด้านขวามือสุดให้ครบ 3 (การเติม 0 จะเติมตรงกันข้ามกับกรณีจำนวนเต็ม)
         ตัวอย่าง   จงแปลง 10011.11012  เป็นเลขฐานแปด
                   

           



ที่มา:https://sites.google.com/site/30251commath/bth-reiyn/-4

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

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