Page 43 - python
P. 43

17




                                                                                  
                          -  Sign Magnitude เปนวิธีทําเลขลบดวยการนําบิตซายสุดเปนเครื่องหมาย (1 คือลบ 0
                              คือบวก) ถาตองการแทนเลข +1 จะมีคา 0001 และหากตองการแทนเลข -1 จะแทน
                              ดวย 1001

                                                                                       
                          -  One’s complement เปนการแทนเลขลบดวยการสลับบิต เชน เลข 1 มีคา 0001
                              เมื่อทําเลขลบดวยวิธีนี้จะสลับจาก 0 เปน 1 และจาก 1 เปน 0 ดังนั้น เลข -1 ของวิธี

                                 ี
                                  
                               ี
                               ้
                              นมคา 1110
                          จากภาพดานบนจะพบวาวิธีการทําเลขลบดวยวิธี Sign magnitude และ one’s complement
                                    ั้
                      
                   มีปญหาที่ เลข 0 มีทง +0 และ -0 ซึ่งในความเปนจริงคือตัวเลขเดียวกัน คือ 0 จึงไดมีการคิดวิธีการสราง
                   เลขลบแบบใหม เพื่อแกปญหาการมีเลข +0 และ -0 เรียกวิธีนี้วา two’s complement วิธีการคือ
                   หลังจากการทํา one’s complement แลวใหบวกเพิ่มดวย 1
                          จากหัวขอวงจรบวกเลขที่ผานมา ถาตองการลบเลข เชน 5 - 3 โดยใชวงจรบวกเลข สามารถทําได

                               ุ
                        
                                                                                         
                   โดย ปอนอินพต คือ 5 + (-3) กลาวคือ ทําการแปลงเลข 3 เปน -3 จากนั้นสงผานเขาไปในวงจรบวกเลข
                   จะสามารถคํานวณการลบเลขโดยใชวงจรบวกเลขตัวเดิมได

                   2.13 การเลื่อนบิตไปทางซายและขวา
                          ในภาษาไพธอนใชเครื่องหมาย << แทนการเลื่อนบิตไปทางซาย และใชเครื่องหมาย >> แทนการ

                   เลื่อนบิตไปทางขวา

                   ตัวอยางที่ 2.1 การเลื่อนบิตไปทางซายและทางขวา

                    x = 4
                    print(x << 1)
                    print(x >> 2)


                   ผลลัพธ :
                    8
                    1

                          ตัวอยางที่ 2.1 เลข 4 ในรูปฐาน 2 คือ 0100 เมื่อเลื่อนไปทางซาย 1 ตําแหนงจะมีคา 1000 มีคา
                   เทากับ 8 ในขณะที่เลข 4 นํามาเลื่อนบิตไปทางขวา 2 ตําแหนง จะมีคา 0100 เปน 0001 ซึ่งมีคาเทากับ 1

                   2.14 การเขียนโปรแกรมคํานวณเสนรอบวงกลม

                                   ้
                                   ี
                              ั
                          ในหวขอนเปนการคํานวณ เสนรอบวงกลม จากสูตร    = 2     เมื่อ    คือความยาวเสนรอบวงกลม
                   และ    คือ รัศมี

                   ตัวอยางที่ 2.2 การคํานวณเสนรอบวงกลม

                    from math import pi
                    def main():
   38   39   40   41   42   43   44   45   46   47   48