WEEK 2 : Number System




    สรุปสิ่งที่ได้เรียนรู้ในสัปดาห์ที่  2

                 1. การบวกเลขฐาน 1 บิต

             เช่น   1  +   0 =  1 ,  1  +  1 =  10
            ข้อควรระวัง ในการบวกลบเลขฐานต้องบวกหรือลบด้วยจำนวนบิตที่เท่ากันและเมื่อนำเลขฐานเดียวกันมา
                                   กระทำกันจะได้ผลลัพธ์เหมือนกัน

         2.  การบวกเลขฐานมากกว่า 1 บิต

                เช่น                                                                              1  0  0  (Carry Biy)(บิตทด)

                   3.    การลบเลขฐาน

               ในการลบเลขฐานเราจะลบโดยการบวกค่าลบเข้าไปแทน โดยเราจะนำการ Compliment มาช่วย ซึ่ง
                การ Compliment  คือ การทำให้บิตที่มีค่าประจำหลักมากที่สุดเป็นลบ(MSB)
              *MSB คือ บิตที่มีค่าประจำหลักมากที่สุด ซึ่งไม่จำเป็นต้องอยู่ทางซ้ายสุด
                LSB  คือ บิตที่มีค่าประจำหลักน้แยที่สุด ซึ่งไม่จำเป็นต้องอยู่ทางขวาสุด

                หลักการในการทำ Compliment
                 -1’s Compliment คือ การสลับเลขแต่ละหลักจาก 0 ให้เป็น 1 หรือ 1 ให้เป็น 0
                 -2’s Compliment คือ การบวก 1 เข้าไป
                  เช่น  0101
                     -                   1’s Compliment  คือ 1010
                     -                   2’s Compliment คือ  1011 
                 ดังนั้น 1011 หรือ -5 เป็น Compliment ของ 0101 หรือ 5

                        Data Range
                              Data Range คือ ช่วงข้อมูล ซึ่งใน Unsigned Value กับ Compliment Value จะมีจำนวนข้อมูลเหมือนกัน แต่มี 
                              Data Range ที่ต่างกัน

                            -Unsigned Value ประกอบไปด้วยจำนวน
                            -Compliment ประกอบไปด้วยจำนวนบวกและจำนวนลบ

                             เช่น  Unsigned Value       0             1              2              3              4              5              6            7          
                                     Compliment            0              1              2              3              -4            -3            -2            -1

                       Binary Overflow
                               Binary Overflow คือ ผลลัพธ์หรือตัวเลขที่ได้เกินที่ช่วงจำนวน Bit จะสามารถแสดงได้
                       -     การแก้ไข Binary Overflow  สามารถแก้ไขได้ด้วยการเพิ่ม Bit โดย ถ้าเป็นจำนวนลบให้เพิ่ม 1 เข้าไปซ้ายสุด แต่ถ้าเป็น
                          จำนวนบวกให้เพิ่ม 0 เข้าไปซ้ายสุด ซึ่งตำแหน่งซ้ายสุดจะเป็นตำแหน่งที่ทำให้เรารู้ได้ว่าจำนวนนั้นเป็นจำนวนบวก
                          (ข้างหน้าเป็น 0)หรือจำนวนลบ(ข้างหน้าเป็น 1) ซึ่งเรียกว่าSigned Bit

                       -   การ Detect Binary Overflow  ทำได้โดยการ Check singed bit ของคำตอบ กับ Signed bit ของตัวตั้งและตัวบวก โดย 
                          1.เมื่อนำจำนวนบวกมาบวกกัน ผลลัพธ์ที่ได้จะเป็นจำนวนบวก โดยสังเกตได้จาก Signed Bit ­ของตัวตั้ง ตัวบวกและ
                             ผลลัพธ์ เป็น 0 แต่ถ้า signed bit ของผลลัพธ์ เป็น 1 จะเกิดการ Overflow
                          2.เมื่อนำจำนวนลบมาบวกกัน  ผลลัพธ์ที่ได้จะเป็นจำนวนลบ โดยสังเกตได้จาก Signed Bit ของตัวตั้ง ตัวลบ และ
                             ผลลัพธ์ เป็น 1 แต่ถ้า signed bit ของผลลัพธ์ เป็น 0 จะเกิดการ Overflow
                          3.เมื่อนำจำนวนบวกและจำนวนลบมาบวกกัน จะไม่มีทางเกิด Overflow
    

           สรุปสิ่งที่ได้เรียนรู้จากการทดลอง

           กิจกรรมที่ 1 วงจรมีการทำงานแบบ half adder โดยมีทั้ง  xor gate , and gate อย่างละตัว หลักการทำงานของวงจรนี้คือ input A, 
             input B ( logic switch ) เข้าที่ xor gate และจั๊มไปที่ input ของ and gate แล้วส่ง output ( logic monitor ) โดยผลการทดลองที่
             ออกมาคือ


 จากตาราง จะสังเกตได้ว่า output  S เป็นของ exclusive-or gate เมื่อใส่ input เป็น logic ที่ 2 ขาต่างกันไฟก็สามารถติด เพราะ logic exclusive- or gate  logic เหมือนกันจะเป็น 0 แต่ต่างกันจะเป็น logic 1 ก็เกิด output เป็น 1 (ไฟติด ) และ output  C เป็นของ and gate คือ logic ที่เข้ามาต้องเป็น 1 ทั้งคู่ จึงจะเกิด output 1 นั่นคือไฟติดนั้นเอง





กิจกรรมที่ 2 การบวกเลขขนาด 1 bit โดยใช้วงจร Logic(Full Adder)




    

 ผลการทดลองได้ดังนี้




จากผลที่ออกมา การทำงานคล้ายกับกิจกรรมที่ 1 แต่เพียงการทำงานขึ้นมาอีก 1 ชุด ดังนี้

              ถ้า logic ต่างกัน exclusive-or gate ก็ส่งเป็น Output ออกมาเป็น 1 และถ้า Logic input เหมือนกัน exclusive-or gate  จะส่ง output ออกมาเป็น 0 เปรียบเสมือนการบวกเลขหลักหน่วย ดังนั้นเราจะต้องต่อ output ของ  exclusive-or gate ให้เป็น LBS

              สำหรับ and gate ต้องต่อเข้า  carry เปรียบเสมือนเป็นตัวทด ทำให้ ในกรณี input A เป็น 1 , input B เป็น 1 จึงทำให้ and gate  เป็น 1ส่งออกเป็น carry  จึงได้ค่ารวมออกมาเป็น 2ในฐาน 10

               ดังนั้นจะสามารถสรุปได้ว่าวงจร Half Adder จะประกอบไปด้วย XOR กับ AND โดย exclusive-or gate จะหาผลรวมของ LBS แต่ and gate จะหา MBS ซึ่งหาได้จากการนำ carry bit มารวมด้วย





กิจกรรมที่ 3 การบวกเลขขนาด 2 Bit (Full Adder)


              วงจร Full Adder จะประกอบไปด้วย 2 Half Bit และ or gate  โดย carry input ของ Half Bit อันแรกจะต่อกับ Ground เพราะ carry Bit ของ ตัวแรกจะเป็น 0 และ carry input ตัวต่อๆไปจะต่อกับ carry output ของตัวก่อนหน้าเหมือนเป็นการทดเลขไปยัง bit ถัดไป และใช้ or gate มารวม carry output เพราะฉะนั้นเมื่อ input ทั้ง 4 ค่าเป็น 1 ผลรวมสูงสุดของวงจรนี้จึงเป็น 6




 สรุปปัญหาที่เกิดขึ้นในสัปดาห์ที่ 1 และ 2

          ในการทดลองการบวกเลขหลายบิตด้วย Logic gate ต้องใช้สายไฟจำนวนมากจึงส่งผลผู้ทดลองสับสนและเกิดความผิดพลาดในการเชื่อมต่อสายไฟในวงจร  ทำให้ ผลลัพธ์การบวกเลขด้วย Logic gate ผิดพลาด ผู้ทดลองจึงต่อวงจรใหม่โดยกำหนดสีสายไฟ เช่น Input A ใช้สายสีม่วง , Input B ใช้สายสีน้ำตาล  เป็นต้น ซึ่งในการกำหนดสีสายไฟ ทำให้ง่ายต่อการต่อวงจรและการตรวจสอบวงจร


0 ความคิดเห็น: