วิธีทำ - วิทยาการ คอมพิวเตอร์ สำหรับ โรงเรียน ตาก พิทยาคม

Download Report

Transcript วิธีทำ - วิทยาการ คอมพิวเตอร์ สำหรับ โรงเรียน ตาก พิทยาคม

วิชาคอมพิวเตอร์ 2 รหัสวิชา ง 31105 (วิชาพืน้ ฐาน)
2 คาบ/สั ปดาห์ รวม 40 คาบ จานวน 1 หน่ วยกิต
ผู้สอน ครู วชั ระ วงษ์ดี
กลุ่มสาระการเรี ยนรู ้การงานอาชีพเทคโนโลยี (งานคอมพิวเตอร์)
โรงเรี ยนตากพิทยาคม สพม.สุ โขทัย-ตาก เขต 38
คาอธิบายรายวิชา
ศึกษาเกี่ยวกับระบบตัวเลข การเปลี่ยนฐานของระบบตัวเลข
การบวก ลบ คูณ หาร เลขฐาน การจัดเก็บข้อมูลในหน่วยความจา
รหัสพีชคณิ ตบูลีนและออกแบบวงจรลอจิก
เพื่อให้เกิดความรู ้ ความเข้าใจ ทักษะ ในการเปลี่ยนเลขฐานของ
ระบบตัวเลข การบวก ลบ คูณ หาร เลขฐาน การจัดเก็บข้อมูลใน
หน่วยความจา รหัสพีชคณิ ตบูลีน และออกแบบวงจรลอจิก
เนือ้ หา
ระบบตัวเลข
การเปลี่ยนฐานของระบบตัวเลข
การบวก ลบ คูณ หาร เลขฐาน
รหัส (Codes)
พีชคณิ ตบูลีนและการออกแบบวงจรลอจิก
การประเมินผล
แบบฝึ กหัด/ งานที่ได้รับมอบหมาย
สอบกลางภาค (Midterm Test)
สอบปลายภาค (Final Test)
ความสนใจ/เวลาเรี ยน
รวม
50 %
20 %
20 %
10 %
100 %
บทที่ 1 ระบบตัวเลข
1.1 ระบบดิจิตอลและระบบอนาล็อก


สั ญญาณอนาล็อก (Analog Signal) หมายถึง สัญญาณที่เกี่ยวข้องกับข้อมูลแบบต่อเนื่อง
(Continuous Data) ที่มีขนาดไม่คงที่ มีลกั ษณะเป็ นเส้นโค้งต่อเนื่องกันไป โดยการส่งสัญญาณ
แบบอนาล็อกจะถูกรบกวนให้มีการแปลความหมายผิดพลาดได้ง่าย เช่น สัญญาณเสี ยงใน
สายโทรศัพท์ เป็ นต้น
สั ญญาณดิจิตอล (Digital Signal) หมายถึง สัญญาณที่เกี่ยวข้องกับข้อมูลแบบไม่ต่อเนื่อง
(Discrete Data) ที่มีขนาดแน่นอนซึ่ งขนาดดังกล่าวอาจกระโดดไปมาระหว่างค่าสองค่า คือ
สัญญาณระดับสู งสุ ดและสัญญาณระดับต่าสุ ด ซึ่ งสัญญาณดิจิตอลนี้เป็ นสัญญาณที่คอมพิวเตอร์ใช้
ในการทางานและติดต่อสื่ อสารกัน เช่น สัญญาณไฟฟ้ า
รู ปที่ 1.1 ระบบขยายเสี ยงแบบอะนาลอก
รู ปที่ 1.2 ระบบการเล่นแผ่นซีดี
1.2.ระบบตัวเลขและรหัส
ระบบเลขฐานที่ใช้ ในคอมพิวเตอร์
เป็ นที่ทราบกันดีวา่ คอมพิวเตอร์ทางานด้วยกระแสไฟฟ้ า ดังนั้นจึงมีการแทนที่
สภาวะของกระแสไฟฟ้ าได้ 2 สภาวะ คือ สภาวะที่มีกระแสไฟฟ้ า และสภาวะที่ไม่มี
กระแสไฟฟ้ า เพื่อให้โปรแกรมเมอร์สามารถสั่งการคอมพิวเตอร์ได้ จึงได้มีการสร้าง
ระบบตัวเลขที่นามาแทนสภาวะของกระแสไฟฟ้ า โดยตัวเลข 0 จะแทนสภาวะไม่มี
กระแสไฟฟ้ า และเลข 1 แทนสภาวะมีกระแสไฟฟ้ า
สภาวะมีกระแสไฟฟ้ า แทนด้วยตัวเลข
1
สภาวะไม่มีกระแสไฟฟ้ า แทนด้วยตัวเลข 0
1.2.ระบบตัวเลขและรหัส
ระบบตัวเลขที่มีจานวน 2 จานวน (2 ค่า) เรี ยกว่าระบบเลขฐานสอง (Binary Number System)
ซึ่ งเป็ นระบบตัวเลขที่สามารถนามาใช้ในการสั่งงานคอมพิวเตอร์ โดยการแทนที่สภาวะต่างๆ ของ
กระแสไฟฟ้ า แต่ในชีวิตประจาวันของคนเราจะคุน้ เคยกับตัวเลขที่มีจานวน 10 จานวน คือ
เลข 0 - 9 ซึ่ งเรี ยกว่าระบบเลขฐานสิ บ (Decimal Number System) ดังนั้นจึงมีความจาเป็ นต้อง
ศึกษาระบบเลขฐาน ประกอบการศึกษาวิชาด้านคอมพิวเตอร์
สาเหตุที่ต้องเป็ นเลขฐานสอง
เพราะ เลขฐานสองประกอบด้วย 0 และ 1 ซึ่ งตรงกับลักษณะทางกายภาพของวงจรไฟฟ้ าที่มี
สองสถานะ คือ เปิ ด (on) และ ปิ ด (off) หรื อตรงกับลักษณะทางตรรกะ นัน่ ก็คือ จริ ง (True) และ
เท็จ (False)
1.2.ระบบตัวเลขและรหัส
ระบบจานวนที่ใช้ ในทางคอมพิวเตอร์ ประกอบด้ วย
ระบบเลขฐานสอง (Binary Number System) ประกอบด้วยตัวเลข 0 และ 1
ระบบเลขฐานแปด (Octal Number System) ประกอบด้วยตัวเลข 0,1,2,3,4,5,6,7
ระบบเลขฐานสิ บ (Decimal Number System) ประกอบด้วยตัวเลข 0,1,2,3,4,5,6,7,8,9
ระบบเลขฐานสิ บหก (Hexadecimal Number System) ประกอบด้วยตัวเลข
0,1,2,3,4,5,6,7,8,9, A,B,C,D,E, F (เมื่อ A=11, B=12, C=13, D=14, E=15, F=16)
1.3 การเปลีย่ นฐานของระบบตัวเลข
การใช้เลขฐานต่างๆ ร่ วมกันตั้งแต่ 2 ฐานขึ้นไปย่อม มีความสับสนเกี่ยวกับ
ค่าของมัน เช่น (11011100)2 มีค่าเท่ากับเท่าไรในเลขฐานสิ บ หรื อ (357)8 มีค่า
เท่า กับเท่าไรในเลขฐานสอง เป็ นต้น เราจึงมีความจาเป็ นจะต้องมีการ
เปลี่ยนแปลงฐานของค่าตัวเลขเหล่านั้นให้ไปอยูใ่ นฐานเดียวกัน
การแปลงเลขจากฐานหนึ่ งไปยังอีกฐานหนึ่ งนั้น ในระบบ Computer จะ
เกี่ยวข้องกับเฉพาะเลขฐานสอง เลขฐานแปด และเลขฐานสิ บหก
1.4 การแปลงเลขฐานสิ บ เป็ นเลขฐานสอง เลขฐานแปด และเลขฐานสิ บหก
ตัวอย่ างที่ 1.1 จงแปลง (35)10 ให้เป็ นเลขฐานสอง (Binary number)
วิธีทา 2 35
2 17 เศษ 1
2 8 เศษ 1
2 4 เศษ 0
2 2 เศษ 0
** ถ้าเป็ นจานวนเต็มให้เอาเลขฐาน
2 1 เศษ 0
ที่ตอ้ งการหารจนกระทัง่ ได้ผลหารเป็ น 0
0 เศษ 1
จากนั้นนาเศษมาเป็ นคาตอบ โดยตอบจาก
ล่างขึ้นบน
นั่นคือ (35)10 = (100011)2
ตัวอย่ างที่ 1.2 (0.6875)10 ให้เป็ นเลขฐานสอง (Binary number)
วิธีทา 0.6875 0.3750 0.7500 0.5000
x
x
x
x
**ถ้าเป็ นจานวนทศนิยมให้คูณด้วย
2
2
2
2
เลขฐานที่ตอ้ งการ และนาเลขหลังจุด
ทศนิยมของผลคูณมาทาการคูณต่อ จน
1.3750 0.7500 1.5000 1.0000
ได้เลขหลังจุดทศนิยมของผลคูณเป็ น 0
นั่นคือ (0.6875)10 = (0.1011)2
ตัวอย่ างที่ 1.3 (0.65625)10 ให้เป็ นเลขฐานสอง (Binary number)
วิธีทา
นั่นคือ
ตัวอย่ างที่ 1.4 (41.53125)10 ให้เป็ นเลขฐานสอง (Binary number)
วิธีทา 2 41
0.53125 x 2 = 1.06250
2 20
เศษ 1
0.06250 x 2 = 0.12500
2 10
เศษ 0
0.12500 x 2 = 0.25000
25
เศษ 0
0.25000 x 2 = 0.50000
22
เศษ 1
0.50000 x 2 = 1.00000
21
เศษ 0
ฉะนั้น (0.53125)10 = (0.10001)2
0
เศษ 1
(41)10 = (101001)2 และ (0.53125)10 = (0.10001)2
นั่นคือ (41.53125)10 = (101001.10001)2
ตัวอย่ างที่ 1.5 (58)10 ให้เป็ นเลขฐานแปด
วิธีทา 8 58
87
เศษ 2
0
เศษ 7
นั่นคือ (58)10 = (72)8
ตัวอย่ างที่ 1.6 (0.9375)10 ให้เป็ นเลขฐานแปด
0.9375 x 8 = 7.5000
0.5000 x 8 = 4.0000
นั่นคือ (0.9375)10 = (0.74)8
ตัวอย่ างที่ 1.7 (87)10 ให้เป็ นเลขฐานสิ บหก
วิธีทา 16 87
16 5
เศษ 7
0
เศษ 5
นัน่ คือ (87)10 = (57)16
ตัวอย่ างที่ 1.8 (0.46875)10 ให้เป็ นเลขฐานสิ บ
หก
0.46875 x 16 = 7.50000
0.50000 x 16 = 8.00000
นั่นคือ (0. 46875)10 = (0.78)8
1.5 การแปลงเลขฐานสอง เลขฐานแปด และเลขฐานสิ บหกเป็ นเลขฐานสิ บ
การแปลงเลขฐานสอง เลขฐานแปดและเลขฐานสิ บหกเป็ นเลขฐาน สามารถทาได้
โดย การนาเลขแต่ละตาแหน่งของฐานเลขนั้นๆ คูณด้วยน้ าหนัก (Weighting) ของเลข
ฐานนั้นแล้วนามารวมกันทั้งหมดก็จะได้คาตอบที่ตองการ
ตัวอย่ างที่ 1.9 จงแปลง (110110)2 ให้เป็ นเลขฐานสิ บ (Decimal number)
วิธีทา
(110110)2 = 1x25 + 1x24 + 0x23 + 1x22 + 1x21 + 0x20
= 32 + 16 + 0 + 4 + 2 + 0
= (54)10
1.5 การแปลงเลขฐานสอง เลขฐานแปด และเลขฐานสิ บหกเป็ นเลขฐานสิ บ
ตัวอย่ างที่ 1.10 จงแปลง (0.101)2 ให้เป็ นเลขฐานสิ บ (Decimal number)
วิธีทา
(0.101)2 = (1x2-1) + (0x2-2) + (1x2-3)
= 0.5 + 0 + 0.125
= (0.625)10
ตัวอย่ างที่ 1.11 จงแปลง (110110.101)2 ให้เป็ นเลขฐานสิ บ (Decimal number)
วิธีทา
(110110.101)2 = (1x25) + (1x24) + (0x23) + (1x22) + (1x21) + (0x20)
+ (1x2-1) + (0x2-2) + (1x2-3)
= 32 + 16 + 0 + 4 + 2 + 0+ 0.5 + 0 + 0.125
= (54.625)10
1.5 การแปลงเลขฐานสอง เลขฐานแปด และเลขฐานสิ บหกเป็ นเลขฐานสิ บ
ตัวอย่ างที่ 1.12 จงแปลง (37)8 ให้เป็ นเลขฐานสิ บ (Decimal number)
วิธีทา (37)8
= (3x81) + (7x80)
= 24 + 7
= (31)10
ตัวอย่ างที่ 1.13 จงแปลง (6E)16 ให้เป็ นเลขฐานสิ บ (Decimal number)
วิธีทา
(6E)16
= (6x161) + (14x160)
= 96 + 14
= (110)10
(*E=14)
1.6 การแปลงเลขฐานสองเป็ นเลขฐานแปด และแปลงเลขฐานแปดเป็ นเลขฐานสอง
เลขฐานแปด
เลขฐานสอง
วิธีการแปลงเลขฐานสองเป็ นเลขฐานแปดก็สามารถ
Octal Number
Binary Number
ทาได้โดยการแปลงเลขฐานสองให้เป็ นเลขฐานสิ บ
เสี ยก่อน จากนั้นเราก็แปลง เลขฐานสิ บที่ได้ให้เป็ นเลข
0
000
ฐานแปดอีกครั้งหนึ่ง ก็จะได้คาตอบตามต้องการ
1
001
ในทานองเดียวกัน การแปลงเลขฐานแปดให้เป็ น
2
010
เลขฐานสอง เราก็ทาได้ โดยการแปลงเลขฐานแปดให้
3
011
เป็ นเลขฐานสิ บ แล้วนาเลขฐานสิ บที่ได้แปลงเป็ น
4
100
เลขฐานสองต่อไป แต่วิธีดงั กล่าวเป็ นวิธียงุ่ ยาก วิธีการ
5
101
แปลงแบบง่ายจะใช้วิธีแทนเลขฐานแปดหนึ่งหลักด้วย
6
110
เลขฐานสองจานวน 3 Bits (คาว่า Bits ย่อมาจาก
7
111
Binary Digit)
ตารางที่ 1.2 ความสั มพันธ์ ระหว่ างเลขฐานแปดกับเลขฐานสอง
1.6 การแปลงเลขฐานสองเป็ นเลขฐานแปด และแปลงเลขฐานแปดเป็ นเลขฐานสอง
การแปลงเลขฐานสอง เป็ นเลขฐานแปด
ตัวอย่ างที่ 1.14 จงแปลง (110111010)2 ให้เป็ นเลขฐานแปด (Octal number)
วิธีทา
(110111010)2 = 110 111 010
(เทียบตาราง 1.2)
6 7 2
นั่นคือ
(110111010)2 =
(672)8
ตัวอย่ างที่ 1.15 จงแปลง (11101001000.01011)2 ให้เป็ นเลขฐานแปด (Octal number)
วิธีทา
นั่นคือ
(11101001000.01011)2 = 0 11 101 001 000 . 010 11 0
เพิม่
3 5 1 0 . 2 6
(11101001000.01011)2 = (3510.26)8
เพิม่
1.6 การแปลงเลขฐานสองเป็ นเลขฐานแปด และแปลงเลขฐานแปดเป็ นเลขฐานสอง
การแปลงเลขฐานแปด เป็ นเลขฐานสอง
ตัวอย่ างที่ 1.16 จงแปลง (637)8 ให้เป็ นเลขฐานสอง (Binary number)
วิธีทา (637)8 = 6 = 110 3 = 011 7 = 111
= (110011111)2
ตัวอย่ างที่ 1.17 จงแปลง (524.61)8 ให้เป็ นเลขฐานสอง (Binary number)
วิธีทา (524.61)8 = 5 = 101 2 = 010 4 = 100 . 6 = 110 1 =001
= (101010100.110001)2
1.7 การแปลงเลขฐานสองเป็ นเลขฐานสิ บหก และแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง
เลขฐานสิ บหก
Hexadecimal
เลขฐานสอง
Binary
เลขฐานสิ บหก
Hexadecimal
เลขฐานสอง
Binary
0
0000
8
1000
1
0001
9
1001
2
0010
A
1010
3
0011
B
1011
4
0100
C
1100
5
0101
D
1101
6
0110
E
1110
7
0111
F
1111
ก
ตารางที่ 1.3 ความสั มพันธ์ ระหว่ างเลขฐานสิ บหกกับเลขฐานสอง
ข
1.7 การแปลงเลขฐานสองเป็ นเลขฐานสิ บหก และแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง
การแปลงเลขฐานสองเป็ นเลขฐานสิ บหก และแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง
ก็คล้ ายๆ กับการแปลงเลขฐานสองเป็ นเลขฐานแปด และแปลงเลขฐานแปดเป็ น
เลขฐานสอง ซึ่ งมีขอ้ ต่างกัน คือ เลขฐานแปดหนึ่งหลักแทนด้วยเลขฐานสอง จานวน 3 บิต
ส่ วนเลขฐานสิ บหกหนึ่งหลักแทนด้วยเลขฐานสองจานวน 4 บิต ดังนั้นการแปลง
เลขฐานสองเป็ นเลขฐานสิ บหก และแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง จึงทาได้โดย
การแทนค่าต่างๆ ตามตารางที่ 1.3 กล่าวคือ หากต้องการแปลงเลขฐานสองเป็ นเลขฐาน
สิ บหก ก็ให้แบ่งเลขฐานสองออกเป็ นชุดละ 4 บิต โดยนับจากข้างหลังไปข้างหน้า ถ้าชุด
สุ ดท้ายมีไม่ถึง 4 บิต ให้เติม 0 ลงไป แต่ถา้ เป็ นทศนิยม การแบ่งเลขฐานสองเป็ นชุด ให้
นับจากข้างหน้าไปข้างหลัง เมื่อแบ่งแล้วก็ให้แทนค่าเลขฐานสิ บหก ตามตารางที่ 1.3
ส่ วนการแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง ก็ทาได้โดยการแทนค่าเลขฐานสิ บหกแต่ละ
หลักด้วยเลขฐานสองตามตารางที่ 1.3 ตามตัวอย่าง ดังนี้
1.7 การแปลงเลขฐานสองเป็ นเลขฐานสิ บหก และแปลงเลขฐานสิ บหกเป็ นเลขฐานสอง
การแปลงเลขฐานสอง เป็ นเลขฐานสิ บหก
ตัวอย่ างที่ 1.18 จงแปลง (100100111100)2 ให้เป็ นเลขฐานสิ บหก (Hexadecimal number)
วิธีทา
นั่นคือ
(100100111100)2 = 1001 0011 1100
9 3 C
(100100111100)2 = (93C)16
(เทียบตาราง 1.3)
*นับจากข้างหลังไปข้างหน้า
ตัวอย่ างที่ 1.19 จงแปลง (1BE4)16 ให้เป็ นเลขฐานสอง (Binary number)
วิธีทา
(1BE4)16 = 1 = 0001 B = 1011 E = 1110 4 = 0100 (เทียบตาราง 1.3)
= (0001101111100100)16 หรือ (1101111100100)16
1.8 การบวกเลขฐานต่ างๆ
การบวกเลขไม่วา่ จะเป็ นเลขฐานอะไรก็แล้วแต่ จะมีวิธีบวกเหมือนกันทั้งหมด เพื่อ
ความเข้าใจในวิธีบวกเลข จึงขออธิบาย วิธีการบวกเลขฐานสิ บที่ถูกต้อง ดังตัวอย่าง
ต่อไปนี้
** วิธีการบวกเลขฐานสอง
การบวกเลขฐานสอง
ตัวอย่ างที่ 1.20 จงบวก (1011)2 เข้ากับ (1001)2
วิธีทา
1 11
10112
10012
101002
+
-หลักที่ 1 คือ 1+1 ได้ 2 (เอา 2 ลบเลขฐานสอง คือ
2-2=0) ผลลัพธ์คือ 0 ทด 1(*ถ้าลบเลขฐานต้องทด
1)
-หลักที่ 2 คือ 1+0ได้ 1 บวกตัวทดอีก 1 จึงเท่ากับ
2 (เอา 2 ลบเลขฐานสอง คือ 2-2=0) ผลลัพธ์คือ 0
ทด 1
-หลักที่ 3 คือ 0+0 ได้ 0 บวกตัวทดอีก 1 เท่ากับ 1
(*ผลลัพธ์ไม่ถึง 2 ไม่ตอ้ งลบออก)
-หลักที่ 4 คือ 1+1ได้ 2 (เอา 2 ลบเลขฐานสอง คือ
2-2=0) ผลลัพธ์คือ 0 ทด 1
ไม่มีตวั บวกอีกแล้ว ก็ให้ใส่ 1 ต่อลงมา
1.8 การบวกเลขฐานต่ างๆ
การบวกเลขฐานแปด
ตัวอย่ างที่ 1.21 จงบวก (375)8 เข้ากับ (421)8
วิธีทา
11
3758
4218
1 0 1 68
+
** วิธีการบวกเลขฐานแปด
-หลักที่ 1 คือ เลข 5+1 ได้ 6
-หลักที่ 2 คือ 7+2ได้ 9 (9 เกินฐานแปด ต้องเอา 9
ลบเลขฐานแปด คือ 9-8=1) ผลลัพธ์คือ 1 ทด 1 (*
ถ้าลบเลขฐานต้องทด 1)
-หลักที่ 3 คือ 3+4 ได้ 7 บวกตัวทดอีก 1 เท่ากับ 8
(8 เท่าฐานแปด ต้องเอา 8 ลบเลขฐานแปด คือ
8-8=0) ผลลัพธ์คือ 0 ทด 1 (*ถ้าลบเลขฐานต้อง
ทด 1)
-หลักที่ 4 คือ ทด 1 ไม่มีตวั บวกอีกแล้ว ก็ให้ใส่ 1
ลงมา
1.8 การบวกเลขฐานต่ างๆ
การบวกเลขฐานสิ บหก
ตัวอย่างที่ 1.22 จงบวก (7A3B.15)16 เข้ากับ (9681.AD)16
วิธีทา
11
1
7A3B.15 16
9681.AD 16
110BC.C2 16
+
** วิธีการบวกเลขฐานสิ บหก
-หลักที่ 1 คือ 5+D(13) ได้ 18 (18 เกินฐานสิ บหก
ต้องเอา 18 ลบเลขฐานสิ บหก คือ 18-16=2)
ผลลัพธ์คือ 2 ทด 1 (*ถ้าลบเลขฐานต้องทด 1)
-หลักที่ 2 คือ 1+A(10)ได้ B(11) บวกตัวทดอีก 1 เท่ากับ C(12) (*12ไม่
ถึงฐานสิ บหกไม่ตอ้ งลบ)
-หลักที่ 3 คือ B(11)+1 ได้ C(12)
-หลักที่ 4 คือ 3+8 ได้ B(11)
-หลักที่ 5 คือ A(10)+6 ได้ 16 (เลข 16 เท่ากับฐานสิ บหก ต้องเอาเลข
16-16=0) ผลลัพธ์คือ 0 (*ถ้าลบเลขฐานต้องทด 1)
-หลักที่ 6 คือ 7+9 ได้ 16 บวกตัวทดอีก 1 เท่ากับ 17 (เลข 17 เกินฐาน
สิ บหก ต้องเอาเลข 17-16=1) ผลลัพธ์คือ 1 (*ถ้าลบเลขฐานต้องทด 1)
-หลักที่ 7 ตัวทดคือ 1 ดึงลงมา
1.9 การลบเลขฐานต่ างๆ
การลบเลขฐานสอง
ตัวอย่ างที่ 1.23 จงลบเลขฐานสอง ดังนี้
(1101101)2 - (1011110)2
วิธีทา
122
02 0 02
11011012
10111102
00011112
-
** วิธีการลบเลขฐานสอง
-หลักที่ 1 คือ 1-0=1
-หลักที่ 2 คือ 0-1 ไม่พอไปยืมหลักหน้ามามีค่า
เท่ากับฐาน 2 ฉะนั้น 2-1=1
-หลักที่ 3 คือ 1 ถูกยืมไปแล้ว มีค่าเป็ น 0 ทาให้ 0-1
ไม่พอไปลืมหลักหน้ามามีค่าเป็ น 2 ฉะนั้น 2-1=1
-หลักที่ 4 คือ 1 ถูกยืมไปแล้ว มีค่าเป็ น 0 ทาให้ 0-1
ไม่พอไปลืมหลักหน้ามามีค่าเป็ น 2 ฉะนั้น 2-1=1
-หลักที่ 5 คือ 0-1ไม่พอไปยืมหลักหน้ามาเป็ น 2 แต่
2 ถูกยืมไปแล้ว 1 จึงมีค่าเป็ น 1 ฉะนั้น 1-1=0
-หลักที่ 6 คือ เลข 1 ถูกยืมไปจึงมีค่าเป็ น 0 ฉะนั้น
0-0=0
-หลักที่ 7 คือ 1-1=0
1.9 การลบเลขฐานต่ างๆ
การลบเลขฐานแปด
ตัวอย่ างที่ 1.24 จงลบเลขฐานแปด ดังนี้
(6253)8 - (4736)8
วิธีทา
5848
62538
47368
1 3 1 58
-
** วิธีการลบเลขฐานแปด
-หลักที่ 1 คือ 3-6 ไม่พอ ไปยืมหลักหน้ามามีค่า
เท่ากับฐาน 8 ทาให้หลักที่ 1 มีค่าคือ 8+3=11ฉะนั้น
11-6=5
-หลักที่ 2 คือ 5 ถูกยืมไปแล้ว เหลือ 4 ฉะนั้น 4-3=1
-หลักที่ 3 คือ 2-7 ไม่พอ ไปยืมหลักหน้ามามีค่า
เท่ากับฐาน 8 ทาให้หลักนี้ มีค่าคือ 8+2=10ฉะนั้น
10-7=3
-หลักที่ 4 คือ 6 ถูกยืมไปแล้ว เหลือ 5 ฉะนั้น 5-4=1
1.9 การลบเลขฐานต่ างๆ
การลบเลขฐานสิ บหก
ตัวอย่ างที่ 1.25 จงลบเลขฐานสิ บหก ดังนี้
(77AE)16 - (5B0F)16
วิธีทา
6 16 9 16
7 7 A E 16
5 B 0 F 16
1 C 9 F 16
-
** วิธีการลบเลขฐานสิ บหก
-หลักที่ 1 คือ E(14)-F(15) ไม่พอ ไปยืมหลักหน้ามา
มีค่าเท่ากับฐาน 16 ทาให้หลักที่ 1 มีค่าคือ
16+14=30 ฉะนั้น 30-F(15)=F
-หลักที่ 2 คือ A ถูกยืมไปแล้ว เหลือ 9 ฉะนั้น 9-0=9
-หลักที่ 3 คือ 7-B(11) ไม่พอ ไปยืมหลักหน้ามามีค่า
เท่ากับฐาน 16 ทาให้หลักนี้มีค่าคือ 16+7=23 ฉะนั้น
23-B(11)=C
-หลักที่ 4 คือ 7 ถูกยืมไปแล้ว เหลือ 6 ฉะนั้น 7-6=1
1.10 Complement
เนื่องจากเลขฐานสองเป็ นระบบตัวเลขที่ใช้ในเครื่ อง Computer ดังนั้น เมื่อใช้เครื่ อง
Computer ทาการลบเลข Binary ก็ตอ้ งมีวงจรลบแยกออกต่างหากจากวงจรบวก ซึ่ งจะมีความ
ยุง่ ยากเกิดขึ้น เพราะมีเครื่ องหมายติดมาด้วย วิธีที่นิยมก็คือ การบวกหรื อการลบ เราใช้วิธีการ
บวกแต่เพียงอย่างเดียว ตัวเลขที่เป็ นค่าลบ เราใช้ Complement แทนผลลัพธ์จะได้ค่า
เครื่ องหมายติดมาด้วย
Complement คืออะไร
Complement ในระบบเลข Binary มีอยู่ 2 แบบ คือ 1's Complement และ 2's Complement
 1's Complement คือการสลับสภาวะของสัญญาณ กล่าวคือ สัญญาณ 1 เปลี่ยนเป็ น
สัญญาณ 0 และสัญญาณ 0 เปลี่ยนเป็ นสัญญาณ 1
 2's Complement คือ ผลบวกของ 1's Complement กับเลข 1 ทั้งนี้ เพื่อประโยชน์
สาหรับทาการลบเลข และเป็ นการแสดงค่าเลขที่เป็ นค่าลบในระบบคอมพิวเตอร์
1.10 Complement
ตัวอย่ างที่ 1.26 จงหาค่า 1's Complement และ 2's Complement ของ (01101)2
วิธีทา 1's Complement ของ (01101)2 = (10010)2 #
2's Complement ของ (01101)2 = (10010)2 + (1)2 = (10011)2 #
1.11 การลบเลขฐานสองโดยใช้ 1’s Complement มีวิธีการดังนี้
ก. หา 1's Complement ของตัวลบ ถ้าจานวน bit ของตัวลบมีนอ้ ยกว่าตัวตั้ง ก็ตอ้ งทาจานวน bit ของตัว
ลบให้เท่ากับจานวน bit ของตัวตั้งก่อน
ข. นาตัวตั้งมาบวกกับ ตัวที่หา 1' s Complement ได้จากข้อ ก.
ค. ผลบวกจากข้อ ข. ถ้ามี End around carry (ตัวทดตัวสุ ดท้าย) ก็ให้นามาบวกกับ bit ที่มีนยั ความสาคัญ
ต่าสุ ด (LSD) ผลบวกที่ได้กค็ ือ ผลลัพธ์ตามต้องการ และมีคา่ เป็ นบวก
ง. ผลบวกจากข้อ ข. ถ้าไม่มี End around carry ก็ให้หา 1's Complement ของผลบวกนั้น ซึ่ งจะเป็ น
ผลลัพธ์ที่ตอ้ งการ และมีคา่ เป็ นลบ
1.11 การลบเลขฐานสองโดยใช้ 1’s Complement
ตัวอย่ างที่ 1.27 จงลบเลขฐานสอง (110111)2 – (100101)2โดยใช้ 1's complement
วิธีทา หา 1's Complement ของตัวลบ (100101)2 = (011010)2
1101112
+
0110102
ตัวทดตัวสุ ดท้าย 1 0100012
+
12
0100102
นั่นคือ (110111)2 – (100101)2 = (10010)2
1.11 การลบเลขฐานสองโดยใช้ 1’s Complement
ตัวอย่ างที่ 1.28 จงลบเลขฐานสอง (101101)2 – (110010)2 โดยใช้ 1's complement
วิธีทา หา 1's Complement ของตัวลบ (110010)2 = (001101)2
1011012
+
0011012
1110102
นา (111010)2 หา 1's Complement = (000101)2
นั่นคือ (101101)2 – (110010)2 = - (101)2
1.12 การลบเลขฐานสองโดยใช้ 2’s Complement
มีวิธีการดังนี้
ก. หา 2's complement ของตัวลบ ถ้าจานวน bit ของตัวลบมีนอ้ ยกว่าตัวตั้ง ก็ตอ้ ง
ทาจานวน bit ของตัวลบให้เท่ากับจานวน bit ของตัวตั้งเสี ยก่อน
ข. นาตัวตั้งมาบวกกับ 2's complement ของตัวลบที่ได้จากข้อ ก.
ค. ผลบวกจากข้อ ข. ถ้ามีตวั สุ ดท้าย (End around carry) ให้ตดั ทิ้ง ที่เหลือก็คือ
ผลลัพธ์ตามต้องการและมีค่าเป็ นบวก
ง. ผลบวกจากข้อ ข. ถ้าไม่มี End around carry ก็ให้หา 2's complement ของเลข
ผลบวกนั้น ได้เท่าไรก็คือผลลัพธ์ตามต้องการ และมีค่าเป็ นลบ
1.12 การลบเลขฐานสองโดยใช้ 2’s Complement
ตัวอย่ างที่ 1.29 จงลบเลขฐานสอง (110111)2 – (100101)2โดยใช้ 2's complement
วิธีทา หา 2's Complement ของตัวลบ (100101)2 = (011011)2
1101112
0110112 +
ตัวทดตัวสุ ดท้าย 1 010010
2
ตัดทิง้
นั่นคือ
(110111)2 – (100101)2 = (10010)2
1.12 การลบเลขฐานสองโดยใช้ 2’s Complement
ตัวอย่ างที่ 1.30 จงลบเลขฐานสอง (101101)2 – (110010)2โดยใช้ 2's complement
วิธีทา หา 2's Complement ของตัวลบ (110010)2 = (001110)2
1011012
0011102 +
1110112
นา (111011)2 หา 2's Complement = (000101)2
นั่นคือ (101101)2 – (110010)2 = - (101)2