เลขฐานและ การแปลงเลขฐาน

เลขฐานและ การแปลงเลขฐาน

[html]ระบบเลขฐาน
ฐาน 2     0,1
ฐาน 8     0,1,2,3,4,5,6,7
ฐาน 10   0,1,2,3,4,5,6,7,8,9
ฐาน 16   0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

การแปลงเลขฐาน 10 เป็นเลขฐาน 2
สามารถแปลงได้ 2 วิธีคือ วิธีทางลัดและวิธีปรกติ
วิธีปรกติ เช่นเราจะเปลงเลข
(259)10 = (?)2
วิธีแรกคือวิธีการหาร 2 ลงไปเรื่อยๆ
ขั้นตอนแรกให้เราตั้ง 259 แล้วนำ 2 มาหารครับตัวที่นำมาหารได้คือ 129 แล้ว เศษ 1 ก็ใส่ตามภาพเลยครับ

2

259

1

 

129

 

ขั้นตอนต่อไปให้เราตั้ง 129 แล้วนำ 2 มาหารครับตัวที่นำมาหารได้คือ 64 แล้ว ไม่มีเศษใส่ 0 แล้ว ก็ใส่ตามภาพเลยครับ

2

259

1

2

129

1

 

64

 

ขั้นตอนต่อไปให้เราตั้ง 64 แล้วนำ 2 มาหารครับตัวที่นำมาหารได้คือ 32 แล้ว ไม่มีเศษใส่ 0 แล้ว ก็ใส่ตามภาพเลยครับ

2

259

1

2

129

1

2

64

0

 

32

 

ขั้นตอนต่อไปให้เราตั้ง 32 แล้วนำ 2 มาหารครับตัวที่นำมาหารได้คือ 16 แล้ว ไม่มีเศษใส่ 0 แล้ว ก็ใส่ตามภาพเลยครับ

2

259

1

2

129

1

2

64

0

2

32

0

 

16

 

ขั้นตอนต่อไปให้เราตั้ง 16 แล้วนำ 2 มาหารครับตัวที่นำมาหารได้คือ 8 แล้ว ไม่มีเศษใส่ 0 แล้ว ก็ใส่ตามภาพเลยครับ

2

259

1

2

129

1

2

64

0

2

32

0

2

16

0

 

8

 

แล้วทำไปเรื่อย จนได้แบบภาพนะครับ

2

259

1

2

129

1

2

64

0

2

32

0

2

16

0

2

8

0

2

4

0

2

2

0

 

1

 


แล้วเลขฐาน 2 คือ ค่าเศษจากที่ หารๆ มาให้เรียงจากล่างสุดไปด้านบนครับผม
(259)10 = (100000011)2[/html]

💬 การตอบกลับ 6

#1
Moshi
Moshi
16,996 โพสต์
[html]อีกวิธีหนึ่งคือวิธีคิดแบบทางลัด
ให้เราสร้างตารางขึ้นมาแล้วนำไปคูณ 2 เท่าขึ้นเรื่อยๆ จนกว่าจะเกินจำนวนที่จะหา จากตัวอย่างเราจะหาค่า 259 ก็คูณไปจนกว่ามันจะเกินครับ

512

256

128

64

32

16

8

4

2

1

 

 

 

 

 

 

 

 

 

 

จากนั้นให้เราดูนะครับว่า 512 ในบรรทัดแรกมากกว่า 259 รึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 512 มากกว่า จึงใส่ 0

512

256

128

64

32

16

8

4

2

1

0

 

 

 

 

 

 

 

 

 

ต่อมาเรามาดูว่า 512 ในบรรทัดมากกว่า 259 รึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 256 น้อยกว่า 259 จึงใส่ 1 แล้วนำ 256 มาเป็นตัวตั้ง

ต่อมาให้เราเอา 256+128 ที่ต้องเอามา + เพราะว่า 256 เป็น 1 เป็นหลักการคิดของมัน แล้วนำผลรวมของ 256+128 = 384 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 384มากกว่า 259 จึงใส่ 0

512

256

128

64

32

16

8

4

2

1

0

1

0

 

 

 

 

 

 

 

ต่อมาให้เราเอา 256+64 = 320 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 320 มากกว่า 259 จึงใส่ 0

512

256

128

64

32

16

8

4

2

1

0

1

0

0

 

 

 

 

 

 

ต่อมาให้เราเอา 256+32 = 288 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 288 มากกว่า 259 จึงใส่ 0

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

 

 

 

 

 

ต่อมาให้เราเอา 256+16 = 272 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 272 มากกว่า 259 จึงใส่ 0

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

0

 

 

 

 

ต่อมาให้เราเอา 256+8 = 264 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 264 มากกว่า 259 จึงใส่ 0

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

0

0

 

 

 

ต่อมาให้เราเอา 256+4 = 260 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 260 มากกว่า 259 จึงใส่ 0

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

0

0

0

 

 

ต่อมาให้เราเอา 256+2 = 258 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 258 น้อยกว่า 259 จึงใส่ 1 แล้วเอา 258 ตั้งต่อแทนเลยครับ

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

0

0

0

1

 

ต่อมาให้เราเอา 258+1 = 258 แล้วดูว่ามันเกินรึเปล่า ถ้ามากกว่าให้ใส่ 0 แต่ถ้ามีค่าน้อยกว่าให้ใส่ 1 และเอาเป็นตัวตั้งต่อไป จากตัวอย่าง 258 น้อยกว่า 259 จึงใส่ 1

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

0

0

0

1

1

ให้เราตัด 0 ตัวแรกออกเลยนะครับ เพราะเค้าไม่นิยมใส่กัน จะเท่ากับวิธีแรกเลยลองดูครับ ผม
(259)10 = (100000011)2[/html]

#2
Moshi
Moshi
16,996 โพสต์
[html]วิธีการแปลงเลขฐาน 2 เป็นฐาน 10
สมมุติผลจะแปลงเลข  (100000011)2 = (?)10
ก็ให้นำมาลงตางรางตามลำดับเลยนะครับ

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

0

0

0

1

1

แล้วช่องไหนที่เป็น 1 ก็ให้นำเลขมาบวก จากตัวอย่าง ก็เอา 256+2+1 = 259

512

256

128

64

32

16

8

4

2

1

0

1

0

0

0

0

0

0

1

1

(100000011)2 = (259)10
259 คือเลขฐาน 10 ของข้อนี้แหละครับ ฮร่าๆ

แบบฝึกหัดท้ายบท

1.(259)10 = (?)2

2.(654)10 = (?)2

3.(38)10 = (?)2

4.(22)10 = (?)2

5.(19)10 = (?)2

 

ระบบเลขฐาน 8 (Octal Number System)
ระบบเลขฐาน 8 มีตัวเลขได้ 0,1,2,3,4,5,6,7
ตัวอย่างเฃขฐาน8 เช่น (732)8 หรือ (56)8
แปลงเลขฐาน 8 เป็นฐาน 10
เช่น แปลง (56)8 = (?)10
ก็ให้นำเลยที่มี มาแยกที่ละตัวแล้วนำมาคูณกับ 8 แต่ยกกำลังตามจำนวนเริ่มจากกำลัง 0,1,2,3 ไปเรื่อยๆ
การคิดค่ากำลังเช่น 8กำลัง3 คือเอา 8 มาคูณกัน 3 ครั้ง = 8x8x8 =512
และถ้า เลขตัวใดก็ช่างยกกำลัง 0 จะมีค่า = 1
วิธีทำ [ (5x8กำลัง1)+(2x8กำลัง0) ]
 (45)+(2) = (47)10
เลข 47 คือเลขฐาน 10 ของ (56)8
ลองยกตัวอย่างอีกซัก 1 ตัวอย่างนะครับ เช่น (4321)8 = (?)10
ก็จะเป็น (4x8กำลัง3) + (3x8กำลัง2) + (2x8กำลัง1) + (1x8กำลัง0)
ก็จะได้เป็น (2048) + (192) + (16)  + (1) = (2257)10

การแปลงเลขฐาน 8 เป็นเลขฐาน 2
เช่น (56)8 = (?)2
ให้เอาเลขที่จะแปลงมาวางลงข้างโดยเรียงจากล่างขึ้นบนแบบภาพ แล้วพิม 1 2 4 ตามภาพครับ ใช้ได้เฉพาะเลขฐาน  8 เป็น 2 เท่านั้นนะครับ

4

2

1

 

 

 

 

6

 

 

 

5

เรามาคิดกันนะครับ ใช้วิธีคิดแบบเดิม ช่องแรก 4 มากกว่า 6 รึเปล่า ถ้ามากกว่าใส่ 0 ถ้าน้อยกว่าหรือเท่ากันให้ใส่ 1 จะได้แบบตาราง

4

2

1

 

1

 

 

6

 

 

 

5

 

ต่อมาคือ ช่องที่ 2 หลังจากที่ช่องแรกได้ 4 แล้วก็เอา 4 ตั้ง แล้วนำ 4 + 2 = 6 แล้วนำเอา 6 เป็นตัวหลัก และให้เอา 6 มาเช็คว่ามีค่าเกิน 6 รึเปล่า ถ้าไม่เกินหรือเท่าแบบตัวอย่างก็ใส่ 1 เลยครับ

4

2

1

 

1

1

 

6

 

 

 

5

ต่อไปคือช่องที่ 3 ก็นำ 6 มาตั้งครับ นำ 6+1 = 7 ว่ามันเกิน 6 รึเปล่า ถ้ามันเกิน 6 ก็ใส่ 0 ถ้าไม่เกินหรือเท่ากันก็ใส่ 1 จากตัวอย่าง 7 มากกว่า 6 ก็ใส่ 0 ครับ ก็จะได้แบบตาราง

4

2

1

 

1

1

0

6

 

 

 

5

แล้วทำไปแบบเดิมนะครับแต่เป็นเลข 5 แทนก็จะได้แบบตาราง

4

2

1

 

1

1

0

6

1

0

1

5

เลขฐาน 2 ของ (56)8 = (101110)2
แล้วให้เอาเลขจากลงล่างขึ้นบนนะครับ ^^

แบบฝึกหัดเลขฐาน 8
1.(123)8 = (?)10 = (?)2
2.(701)8 = (?)10 = (?)2[/html]

#3
Moshi
Moshi
16,996 โพสต์
[html]การแปลงเลขฐาน 16
เลขฐาน 16 มีตัวเลข 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
การแปลงเลขฐาน 16 เป็นเลขฐาน 10(หลักการคิดมี 4 บิท)
วิธีทำ ก็ทำคล้ายๆ กับ การแปลงเลขฐาน 8 เป็นฐาน 10 แหละครับ
เช่น (4A)16 = (?)10
(4x16กำลัง1)+(10x16กำลัง0)
(64)+(10) = (74)10

แปลงเลขฐาน 16 เป็น ฐาน 2

วิธีทำ ก็ทำคล้ายๆ กับ การแปลงเลขฐาน 8 เป็นฐาน 10 แหละครับ

8

4

2

1

 

1

0

1

0

A

0

1

0

0

4

 

 

 

แปลงเลขฐาน 2 เป็นฐาน 16
เช่น (1001010)2 = (?)16
วิธีทำ ให้แบ่งเลขเป็น ชุดละ 4 ตัว ถ้าไม่พอเติม 0 ให้
จากตัวอย่าง 1001010 จะแบ่งเป็น 4 ชุดได้ดังนี้   0100  1010
จากนั้นนำมาเทียบในตาราง เป็น 8421 ตามภาพ ชุดที่ 1 คือ 0100

8

4

2

1

0

1

0

0

 

 

จากนั้นนำมาเทียบในตาราง เป็น 8421 ตามภาพ ชุดที่ 2 คือ 1010

8

4

2

1

1

0

1

0

 

 

ตรงไหนที่เป็นเลข 1 ก็นำมา + กันจะเป็นค่าของเลขนั้น
เช่นจากตัวอย่างตารางข้างบน ชุดที่1 = 4    ชุดที่ 2 = 8+2


ก็จะได้เป็น 4A

แบบฝึกหัดแปลงเลขฐาน 16 เป็นฐาน 2
1.(A07)16 = (?)10 = (?)2
2.(951)16 = (?)10 = (?)2
3.(F1C)16 = (?)10 = (?)2[/html]

#4
KRISDA
KRISDA
2 โพสต์
ขอบคุณครับ สำหรับความรู้ดีดี
#5
CawaII
CawaII
29 โพสต์
thank you ka
#6
MoAme
MoAme
41 โพสต์
อยากรุ้เกี่ยวกับ + - * / เพิ่มขึ้นมากกว่านี้