ข้ามไปที่เนื้อหาหลัก

การคำนวณเลขฐาน

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


การบวกเลขฐานสองมีเกณฑ์เพียง 4 กรณีดังนี้
1. 0+0=0
2. 0+1=1
3. 1+0=1
4. 1+1=0  
( ทดหลักต่อไป 1) , 1+1 = 2 ผลลัพธ์ที่ได้เกินเลขพื้นฐานของเลขฐานสอง จะต้องลบด้วย2 จึงต้องใส่ค่าเป็น 0 แล้วทด 1
การลบเลขฐานสอง
มีเกณฑ์เพียง 4 กรณีดังนี้
1. 0-0=0
2. 1-0=1
3. 1-1=0
4. 0-1=1
(ยืม จากบิตที่มีน้ำหนักมากกว่ามา 1) ,การมีหลักเกณฑ์ คือ ตัวที่ให้ยืมมีค่าลดไป 1 ค่า ,และค่าที่ยืมมา 1นั้น(ในเลขฐานสองมีค่าเท่ากับ2)ให้นำไปบวกกับตัวที่ยืมแล้วทำการลบได้เลย
การคูณเลขฐานสอง
มีเกณฑ์เพียง 4 กรณีดังนี้
1. 0x0=0
2. 0x1=0
3. 1x0=0
4. 1x1=1
การหารเลขฐานสอง
มีวิธีการเหมือนกับเลขฐานสิบ คือ
 0/1=0
 1/1=1

หลัก การข้างต้นเป็นแค่พื้นฐานขั้นแรก แต่ยังมีการคำนวณเลขที่เป็นเลขติดค่าลบ หรือเป็นเลขที่มีเครื่องหมายเข้ามาเกี่ยวข้องนั่นเอง เลขประเภทนี้จะต้องมีวิธีการแตกต่างออกไปจากข้างต้น โดยจะต้องมีบิตแสดงเครื่องหมายเพิ่มขึ้นมา เราเรียกว่า sign bit แต่วิธีดังกล่าวจะทำให้เกิดความยุ่งยากทางฮาร์ดแวร์จึงต้องมีวิธีการหนึ่ง เข้ามาช่วย เรียกว่าการคอมพลิเมนต์เลขไบนารี่
การคอมพลีเมนต์เลขไบนารี่มีสองวิธี คือ
1. 1's complement
2. 2's complement
รูปแบบ 1's complement 1's complement ของเลขฐานสอง คือการกลับสถานะของตัวเลขในแต่ละบิตนั่นเอง คือ กลับ 0 เป็น 1, และ กลับ 1 เป็น 0
รูปแบบ 2's complement  2's complement ของเลขฐานสอง คือ ผลบวกของ  1's complement กับเลข 1 นั่นเอง


ระบบเครื่องหมาย -2's complementระบบเครื่องหมายลบ 2's comlement ที่นำมาใช้แทตัวเลขในเลขฐานสองมีหลักการดังนี้
-ถ้าเป็นเลขบวก ให้ใส่ 0 ที่บิตเครื่องหมาย และบิตข้อมูลจะเป็นเลขฐานสอง
-ถ้าเป็นเลขลบ ให้ใส่ 1 ที่บิตเครื่องหมาย และบิตข้อมูลจะเป็นเลข 2's complement ของเลขฐานสอง

ตัวอย่าง เช่น 7(10) = 0111(2) , -7(10) = 1001(2) เป็นต้น

การบวกในระบบ -2's complementสามารถแบ่งเป็น4กรณี ดังนี้
1. เป็นเลขบวกทั้งสองจำนวน เช่น 5+2
  จะได้เป็น        (+5)  +  (+2)             
                    (0 101) + (0 010)  = 0 111 หรือ 7 ในเลขฐานสิบ
2.เป็นเลขบวกกับเลขลบที่น้อยกว่า เช่น  4+(-2)
  จะได้เป็น       (+4)  +  (-2)       
                   (0 100) + (1 110)** = 0 010  หรือ 2 ในเลขฐานสิบ
       ** หมายถึง ค่าเลขที่เป็นลบต้องทำการ -2's complement ก่อน แล้วจึงนำมาใช้ได้
3.เป็นเลขบวกกับเลขลบที่มากกว่า เช่น 3 + (-4)
  จะได้เป็น       (+3)  +  (-4)       
                   (0 011) + (1 100) = (1 111)**  หรือ (-1) ในเลขฐานสิบ
       ** หมายถึง ค่าเลขที่เป็นลบต้องทำการ -2's complement ก่อน แล้วจึงนำมาใช้ได้
4.เป็นลบทั้งสองจำนวน เช่น (-3)+(-4)
จะได้เป็น       (-3)  +  (-4)       
                   (1 101) + (1 100) = (1 001)**  หรือ (-7) ในเลขฐานสิบ
       ** หมายถึง ค่าเลขที่เป็นลบต้องทำการ -2's complement ก่อน แล้วจึงนำมาใช้ได้
การลบในระบบ -2's complementในการลบนี้มีเทคนิคที่ทำให้ง่ายคือ เปลี่ยนเลขตัวลบให้อยู่ในแบบ  -2's complement ก่อน แล้วนำมาบวกกันจะได้ผลลัพธ์ออกมา
สามารถแบ่งเป็น4กรณี ดังนี้
1. เป็นเลขบวกทั้งสองจำนวน เช่น 5+2
  จะได้เป็น        (+5) - (+2) 
   แทนค่า      (0 101) - (0 010)   : เปลี่ยนตัวลบเป็น  -2's complement
     จะได้       (0 101)+ (1 110)  = 0 011 หรือ 3 ในเลขฐานสิบ
2.ตัวตั้งเป็นบวก ตัวลบเป็นลบ เช่น 5-(-2)
  จะได้เป็น        (+5)  -  (-2)             
  แทนค่า       (0 101) - (1 110)    : เปลี่ยนตัวลบเป็น  -2's complement
    จะได้         (0 101) + (0 010)  = 0 111 หรือ 7 ในเลขฐานสิบ
3.ตัวตั้งเป็นลบ ตัวลบเป็นบวก เช่น (-5)-(2)
   จะได้เป็น        (-5)  -  (2)           
    แทนค่า      (1 011) - (0 010)    : เปลี่ยนตัวลบเป็น  -2's complement
   จะได้        (1 011) + (1 110)  = 1 001 หรือ -7 ในเลขฐานสิบ
4.เป็นลบทั้งสองจำนวน เช่น (-5)-(-2)
  จะได้เป็น        (-5)  -  (-2)           
    แทนค่า       (1 011) - (1 110)    : เปลี่ยนตัวลบเป็น  -2's complement
    จะได้         (1 011) + (0 010)  = 1 101 หรือ -3 ในเลขฐานสิบ

การบวกและลบเลขฐานสิบหก มีรายละเอียดดังนี้
การบวกเลขฐานสิบหก ทำ การบวกได้เหมือนเลขฐานสิบได้เลย หากค่าเกินเลขพื้นฐานของฐานนั้นให้นำค่าพื้นฐานมาลบออก ใส่ค่านั้นลงไปแล้วทดไป 1(ค่าพื้นฐานในเลขฐานสิบหกคือ 16 นั่นเอง)
ตัวอย่าง    A2D + 819
วิธีทำ           A2D  +
                   819
คำตอบ      1246
การลบเลขฐานสิบหก มีหลักการลบดังนี้
 หากตัวตั้งมากกว่า หรือเท่ากับตัวลบให้ลบตามปกติ หากตัวตั้งน้อยกว่าตัวลบให้ยืมหลักถัดไป ค่าที่ยืมมามีค่าเท่ากับค่าเลขฐาน(ในีที่นี้เท่ากับ 16) ตัวที่ถูกยืมค่าจะลดลง 1 ค่า เมื่อยืมมาแล้วให้รวมค่ากับตัวยืมแล้วนำไปลบตามปกติ
ตัวอย่าง    A2D - 8A9
วิธีทำ           A2D  -
                  8A9
คำตอบ      184

โพสต์ยอดนิยมจากบล็อกนี้

เฟต(FET)

เฟต(FET) เฟทมาจากคำว่า Field Effect Transistor เป็นอุปกรณ์สารกึ่งตัวนำชนิดหนึ่งคล้ายทรานซิสเตอร์ แต่คุณสมบัติอันพิเศษกว่าทรานซิสเตอร์จึงมีประโยชน์ในด้านการใช้งานนั้นมาก และถูกนำมาใช้งานอย่างกว้างขวาง รูปร่างภายนอกนั้นเหมือนทรานซิสเตอร์ทุกประการ แต่จะแตกต่างกันตรงเบอร์ใช้งานและคุณสมบัติอันพิเศษกว่าทรานซิสเตอร์นั่นเอง                                                                       รูปที่1 ความพิเศษของมันคือ มีค่าอิมพิแดนซ์ทางด้านอินพุตสูงมาก (ทรานซิสเตอร์มีอิมพิแดนซ์ต่ำ) อัตราการทนแรงดันและกระแส สูง และสำหรับเฟทแล้ว การทำงานจะใช้สนามไฟฟ้าควบคุม (ทรานซิสเตอร์ใช้กระแส) เป็นที่มาของคำว่า Field Effect Transistor มีสองแบบด้วยกันคือ แบบพีแชลแน...

คลาสต่างๆของวงจรขยายเสียง

การขยายสัญญาณเสียงให้มีความดังมากขึ้น ถือว่าเป็นสิ่งสำคัญในวงขยายเสียง และจะต้องนำไปใช้ในการขยายสัญญาณเสียงจากแหล่งกำเนิดต่างกัน ต้องการความดังสัญญาณต่างกันทำให้การจัดวงจรขยายสัญญาณเสียง หรือจัดคลาสของการขยายต่อกัน เพื่อให้เกิดความเหมาะสมในการนำไปใช้งาน และทำให้สัญญาณเสียงที่ได้ออกมามีความชัดเจนไม่ผิดเพี้ยน หรือมีความดังตามต้องการ การจัดคลาสการขยายจัดได้ตามการกำหนดจุดทำงานของวงจรขยาย แบ่งได้เป็น 4 แบบดังนี้ 1.คลาส-เอ(CLASS A) 2.คลาส-บี(CLASS B) 3.คลาส-เอบี(CLASS AB) 4.คลาส-ซี(CLASS C) การจัดวงจรขยายแต่ละคลาสมีจุดทำงานต่างกัน มีลักษณะการทำงานต่างกัน การใช้งานจะต้องเลือกคลาสการขยายให้เหมาะสมถูกต้อง จึงจะทำให้ขยายสมบูรณ์ และมีประสิทธฺภาพสูง วงจรขยายคลาส-เอ(CLASS-A AMPLIFIER) วงจรขยายคลาส-เอ เป็นวงจรขยายที่มีจุดการทำงานอยู่ในช่วงที่เรียกว่า แอกทีฟ คือ ช่วงการทำงานของทรานซิสเตอร์ที่เป็นลิเนียร์ หรือหากเปรียบเทียบก็เหมือนเครื่องยนต์ที่ทำการเร่งเครื่องพร้อมจะรับงานหนักๆได้อยู่ตลอดเวลา วงจรของขยายคลาสเอ จะมีกระแสสงบไหลตลอดเวลาเพื่อให้จุดของการทำงานมีช่วงสวิงของสัญญาณเอาท์พุตไม่ต่ำ...

การเปลี่ยนฐานของระบบเลข

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