ข่าว IT ล่าสุด
ถูกใจอย่าลืม Like Fanpage
เลขฐานและ การแปลงเลขฐาน
แสดงแล้ว 121070 ครั้ง /
สิงหาคม 08, 2009, 14:54

Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
เลขฐานและ การแปลงเลขฐาน

ระบบเลขฐาน
  ฐาน 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


Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
สิงหาคม 08, 2009, 14:56
อีกวิธีหนึ่งคือวิธีคิดแบบทางลัด
ให้เราสร้างตารางขึ้นมาแล้วนำไปคูณ 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


Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
สิงหาคม 08, 2009, 14:58
วิธีการแปลงเลขฐาน 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


Moshi

ออฟไลน์
กระทู้ : 16,996
คะแนนขอบคุณ : 45
it4x สังคมแห่งการเรียนรู้
สิงหาคม 08, 2009, 14:58
การแปลงเลขฐาน 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


KRISDA

ออฟไลน์
กระทู้ : 2
คะแนนขอบคุณ : 0
กุมภาพันธ์ 24, 2010, 17:39
ขอบคุณครับ สำหรับความรู้ดีดี

CawaII

ออฟไลน์ ( ธรรมดาแต่ว่าน่าสนใจ" )
กระทู้ : 29
คะแนนขอบคุณ : 0
-
กรกฎาคม 02, 2010, 09:50
thank you ka

MoAme

ออฟไลน์
กระทู้ : 41
คะแนนขอบคุณ : 0
สิงหาคม 18, 2010, 16:18
อยากรุ้เกี่ยวกับ + - * / เพิ่มขึ้นมากกว่านี้

 

ด้วยฟังค์ชั่น ตอบด่วน คุณสามารถใช้โค๊ดและ เครื่องหมายแสดงอารมณ์ได้ เหมือนการตั้งกระทู้ธรรมดา แต่สามารถทำได้สะดวกกว่า

ระวัง: หัวข้อนี้ไม่มีการอัพเดทมานานถึง 120 วัน

แจ้งเตือน: โพสของคุณจะไม่แสดงจนกว่าผู้ดูแลจะอนุมัติ.
ชื่อ: อีเมล์: