ให้เรตสมาชิก: 4 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งาน
 

วิธีการแปลงเลขฐาน

วิธีการแปลงเลขฐาน
วิธีการแปลงเลขฐาน

      คอมพิวเตอร์นั้นมีความสำคัญกับเรามาก ซึ่งในปัจจุบันธุรกิจได้มีการนำคอมพิวเตอร์เข้ามาช่วยในการทำงานต่างๆ โดยให้โปรแกรมเมอร์สร้างระบบต่างๆ ขึ้นมา เพื่ออำนวยความสะดวกการทำงานให้แก่พนักงาน เพื่อลดข้อผิดพลาดต่างๆ จากพนักงานและให้พนักงานได้ทำงานได้รวดเร็วขึ้นมากกว่าเดิม ซึ่งจะทำให้ผลลัพธ์ทางธุรกิจนั้นออกมาได้อย่างรวดเร็วและมีจำนวนมากขึ้นด้วย โดยผู้พัฒนาระบบนั้นจะต้องเข้าใจภาษาของคอมพิวเตอร์จึงจะสามารถติดต่อสื่อสาร พูดคุยหรือสั่งให้คอมพิวเตอร์ทำงานตามที่ต้องการได้ โดยภาษาของคอมพิวเตอร์นั้นมีจำนวนเยอะมาก เช่น C++, C# , Java, VB.NET, PHP, PYTHON, GROOVY และภาษาอื่นๆ อีกมากมาย ซึ่งภาษาเหล่านี้สามารถใช้ติดต่อสื่อสารพูดคุยกับคอมพิวเตอร์เพื่อสั่งให้คอมพิวเตอร์ทำงานได้ แต่ในสมัยก่อนนั้น ภาษาเหล่านี้ยังไม่ได้เกิดขึ้นมา นักโปรแกรมเมอร์ในสมัยก่อนนั้นต้องใช้วิธีการแปลงเลขฐานเพื่อให้คอมพิวเตอร์นั้นสามารถรับข้อมูลจากเราได้ เนื่องจากคอมพิวเตอร์นั้นไม่ได้มีการอ่านข้อมูลเป็นภาษาเหมือนเรา แต่คอมพิวเตอร์มีการอ่านข้อมูลเป็นตัวเลข 0 1 เท่านั้น ดังนั้นจึงต้องแปลงเลขฐานเพื่อให้คอมพิวเตอร์สามารถทำงานได้ตามคำสั่งของเรา โดยวิธีการแปลงเลขฐานมีดังนี้

การแปลงเลขฐาน 8 เป็นฐาน 2

วิธีการคิด

- นำเลขฐาน 8 มาแปลงเป็นเลขฐาน 2 โดยการแยกหาที่ละตัว เริ่มจากตัวแรกก่อน

- เลขฐาน 8 หนึ่งตัวจะมีค่าเท่ากับเลขฐาน 2 อยู่ 3 บิต คือ 22, 21, 20

- จากตัวอย่าง 5 แปลงเป็นเลข ฐาน 2 ก็จะได้ 101

- แนวการหาว่า 5 มาจากไหน เลขฐาน 8 หนึ่งตัวจะมีค่าเท่ากับเลขฐาน 2 อยู่ 3 บิต

- บิต 3 คือ 22 = 4, บิต 2 คือ 21 = 2 , บิต 1 คือ 20 = 1

หมายเหตุ ถ้าลบได้คือผลที่ได้ไม่ติดลบ ให้ได้ 1 ถ้าติดลบให้ได้ 0 และนำผลก่อนหน้าที่จะติดลบข้ามไปลบบิตต่อไป

- นำ 5 มาลบ กับ บิต 3 คือ 5 - 4 = 1 ได้ 1

- นำ 1 มาลบ กับ บิต 2 คือ 1 - 2 = -1 ผลที่ได้ติดลบ ได้ 0

- นำ 1 มาลบ กับ บิต 1 คือ 1- 1 = 0  ได้ 1

- ผลที่ได้คือ 58 เท่ากัน 1012 โดยการเรียงผลที่ได้จากบิต 1,2,3

การแปลงเลขฐาน 10 เป็นฐาน 2

วิธีการคิด

- นำเลขฐาน 10 มาหาร จากตัวอย่างคือเลข 592

- นำเลข 592 มาหารด้วย 2 โดยใช้วิธีการหารยาวไปเรื่อยๆ

- นำเศษแต่ละครั้งที่ได้จะมีเลข 1 กับ 0

- นำมาเรียงเริมจากตัวล่างสุดจากตัวอย่างคือ 10010100002

- ผลลัพธ์ที่ได้เลข 10010100002

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

วิธีการคิด (จะเหมือนการคิดเลขฐาน 8)

- นำเลขฐาน 16 มาแปลงเป็นเลขฐาน 2 โดยการแยกหาที่ละตัว เริ่มจากตัวแรกก่อน

- เลขฐาน 16 หนึ่งตัวจะมีค่าเท่ากับเลขฐาน 2 อยู่ 4 บิต คือ  23,22, 21, 20

- จากตัวอย่าง A แปลงเป็นเลข ฐาน 2 ก็จะได้ 1010

- แนวการหาว่า A มาจากไหน เลขฐาน 16 หนึ่งตัวจะมีค่าเท่ากับเลขฐาน 2 อยู่ 4 บิต

- บิต 4 คือ 23=8 ,บิต 3 คือ 22 = 4, บิต 2 คือ 21 = 2 , บิต 1 คือ 20 = 1

หมายเหตุ ถ้าลบได้คือผลที่ได้ไม่ติดลบ ให้ได้ 1 ถ้าติดลบให้ได้ 0 และนำผลก่อนหน้าที่จะติดลบข้ามไปลบบิตต่อไป

- นำ A มาลบ กับ บิต 4 คือ 10 - 8 = 2 ได้ 1      หมายเหตุ A คือ 10

- นำ 1 มาลบ กับ บิต 3 คือ 2 - 4 = -2 ผลที่ได้ติดลบ ได้ 0

- นำ 2 มาลบ กับ บิต 2 คือ 2 - 2= 0  ได้ 1

- นำ 0 มาลบ กับ บิต 1 คือ 0 - 1 = -1 ผลที่ได้ติดลบ ได้ 0

- ผลที่ได้คือ A16 เท่ากัน 10102 โดยการเรียงผลที่ได้จากบิต 1,2,3,4

การแปลงเลขฐาน 2 เป็นฐาน 8

วิธีการคิด

- เลขฐาน 8 หนึ่งตัวจะมีค่าเท่ากับเลขฐาน 2 อยู่ 3 บิต

- วิธีการหาคือ 11011011 แบ่งออกเป็น 3 บิต คือ 011/010/110 *หมายเหตุ ถ้าแบ่งและตัวที่อยู่หน้าสุดเหลือ 1 หรือ 2 บิต ให้เพิ่ม 0 ใส่จนครบ 3 บิต

- บิต 3 คือ 22 = 4, บิต 2 คือ 21 = 2 , บิต 1 คือ 20 = 1

- ตัวอย่างวิธีการหา 110 = 6

- นำตัวที่ 1 ของชุด คูณ บิต 3 คือ 1 x 4 = 4

- นำตัวที่ 2 ของชุด คูณ บิต 2 คือ 1 x 2 = 2

- นำตัวที่ 3 ของชุด คูณ บิต 1 คือ 0 x 1 = 0

- นำผลที่ได้มารวมกันคือ 4 + 2 + 0 = 6

- ผลที่ได้คือ 68

การแปลงเลขฐาน 2 เป็นฐาน 10

วิธีการคิด

- นำเลขฐาน 2 จากตัวอย่างคือ 11001

*หมายเหตุ 110012 นับจากหลังมาหน้า

- นำเลขฐาน 2 ตัวที่ 1 คือ 1 คูณกับ บิต 1 ของฐาน  2 คือ 1 x 20 = 1

- นำเลขฐาน 2 ตัวที่ 2 คือ 0 คูณกับ บิต 2 ของฐาน  2 คือ  0 x 21 = 0

- นำเลขฐาน 2 ตัวที่ 3 คือ 0 คูณกับ บิต 3 ของฐาน  2 คือ  0x 22  = 0

- นำเลขฐาน 2 ตัวที่ 4 คือ 1 คูณกับ บิต 4 ของฐาน  2 คือ 1 x 23 = 8

- นำเลขฐาน 2 ตัวที่ 5 คือ 1 คูณกับ บิต 5 ของฐาน  2 คือ 1 x 24 = 16

- นำผลที่ได้มาบวกกัน ก็จะได้เลขฐาน 10 คือ 25

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

วิธีการคิด

- เลขฐาน 16 หนึ่งตัวจะมีค่าเท่ากับเลขฐาน 2 อยู่ 4 บิต

- วิธีการหาคือ 11011011100 แบ่งออกเป็น 3 บิต คือ 0110/1101/1100*หมายเหตุ ถ้าแบ่งและตัวที่อยู่หน้าสุดเหลือ 1,2 หรือ 3 บิต ให้เพิ่ม 0 ใส่จนครบ 4 บิต

- บิต 4 คือ 23 = 8, บิต 3 คือ 22 = 4 , บิต 2 คือ 21 = 2, บิต 1 คือ 20 = 1

- ตัวอย่างวิธีการหา 1100 = C

- นำตัวที่ 1 ของชุด คูณ บิต 4 คือ 1 x 8 = 8

- นำตัวที่ 2 ของชุด คูณ บิต 3 คือ 1 x 4 = 4

- นำตัวที่ 3 ของชุด คูณ บิต 2 คือ 0 x 2 = 0

- นำตัวที่ 4 ของชุด คูณ บิต 1 คือ 0 x 1 = 0

- นำผลที่ได้มารวมกันคือ 8 + 4 + 0 + 0 = C

- ผลที่ได้คือ C16

การแปลงเลขฐาน 10 เป็นฐาน 8

วิธีการคิด

- นำเลขฐาน 10 มาหาร จากตัวอย่างคือเลข 986

- นำเลข 592 มาหารด้วย 8 โดยใช้วิธีการหารยาวไปเรื่อยๆ

- นำเศษแต่ละครั้งที่ได้จะมีเลข 7 ถึง 0

- นำมาเรียงเริมจากตัวล่างสุดจากตัวอย่างคือ 1732

- ผลลัพธ์ที่ได้เลข 17328

การแปลงเลขฐาน 10 เป็นฐาน 16

วิธีการคิด

- นำเลขฐาน 10 มาหาร จากตัวอย่างคือเลข 598

- นำเลข 598 มาหารด้วย 16 โดยใช้วิธีการหารยาวไปเรื่อยๆ

- นำเศษแต่ละครั้งที่ได้จะมีเลข F(15) ถึง 0

- นำมาเรียงเริมจากตัวล่างสุดจากตัวอย่างคือ 256

- ผลลัพธ์ที่ได้เลข 25616

References : การแปลงเลขฐาน.  “การแปลงเลขฐาน”.  [ออนไลน์].  เข้าถึงได้จาก:th.wikipedia.org/wiki/รหัสตัวเลข.  [1 ก.ค. 2016].

ภาพประกอบจาก : www.sritani.ac.th

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
Google Play Pass คืออะไร ดีอย่างไร
โดย birdkritsna อ 24 ก.ย. 2019 6:50 pm บอร์ด Share Knowledge
0
46
อ 24 ก.ย. 2019 6:50 pm โดย birdkritsna
ข้อดี ของการใช้งาน Google G Suite เครื่องมือทำงานออนไลน์
โดย aninthana อ 24 ก.ย. 2019 5:58 pm บอร์ด Linux - Web Server
0
56
อ 24 ก.ย. 2019 5:58 pm โดย aninthana
ปุ่ม print บทความเมือคลิกแล้วไม่มีเมนู print ออกมาครับต้องทำยังไงดีครับ
โดย jamepiyawat อ 24 ก.ย. 2019 4:44 pm บอร์ด Joomla Development
0
41
อ 24 ก.ย. 2019 4:44 pm โดย jamepiyawat
อยากทราบที่อยู่ของไฟล์ ปุ่ม print บทความครับ
โดย jamepiyawat อ 24 ก.ย. 2019 3:42 pm บอร์ด Joomla Development
4
74
อ 24 ก.ย. 2019 4:46 pm โดย jamepiyawat
ใช้ตัวแปรคำนวณค่าแล้วขึ้น Notice: A non well formed numeric value encountered in ครับ
โดย birdkritsna อ 24 ก.ย. 2019 3:32 pm บอร์ด Programming - PHP
8
171
พฤ 26 ก.ย. 2019 6:24 pm โดย birdkritsna
ผมขอสอบถามการทำวนลูปใน Vue.js จากข้อมูลที่ได้รับมาเป็น json หน่อยนะครับ ผมเขียนแบบนี้แล้วมันแสดงมาแค่ แถวเดียว ต้องทำยัง
โดย Sukitti Tongsri อ 24 ก.ย. 2019 3:27 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
1
77
พ 25 ก.ย. 2019 3:58 pm โดย mindphp
Q อยากทราบวิธีสร้างตัวแปรเก็บค่าที่ได้จาก api
โดย birdkritsna อ 24 ก.ย. 2019 1:31 pm บอร์ด Programming - PHP
5
132
อ 24 ก.ย. 2019 5:50 pm โดย birdkritsna
เปลี่ยนเทียบความน่าซื้อของ Smart Watch รุ่นต่างๆ รุ่นไหนคุ้มค่าที่สุด
โดย chatee supasand จ 23 ก.ย. 2019 7:47 pm บอร์ด MindPHP News
0
76
จ 23 ก.ย. 2019 7:47 pm โดย chatee supasand
เงื่อนไข การค้นหา คำที่อยากให้มี และ คำที่ไม่อยากให้มี
โดย aninthana จ 23 ก.ย. 2019 7:22 pm บอร์ด Wordpress Developing Knowledge
0
50
จ 23 ก.ย. 2019 7:22 pm โดย aninthana
เทคนิค การออกแบบรหัสสินค้าหรือบริการ
โดย aninthana จ 23 ก.ย. 2019 6:59 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
3
109
อ 15 ต.ค. 2019 3:34 pm โดย LEG
รู้จักกับ Intelligent Building คืออะไร
โดย birdkritsna จ 23 ก.ย. 2019 5:50 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
43
จ 23 ก.ย. 2019 5:50 pm โดย birdkritsna
Drone เพื่อการโจมตีรูปแบบใหม่
โดย birdkritsna จ 23 ก.ย. 2019 5:18 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
44
จ 23 ก.ย. 2019 5:18 pm โดย birdkritsna
การเขียนคำอธิบายโค้ด ใน css เพื่อเป็นคำอธิบายกันลืมโค้ด
โดย jamepiyawat จ 23 ก.ย. 2019 5:12 pm บอร์ด CSS Knowledge
0
40
จ 23 ก.ย. 2019 5:12 pm โดย jamepiyawat
การสลับค่าตัวแปร ระหว่าง 2 list box โดยใช้ javascript มาช่วย
โดย birdkritsna จ 23 ก.ย. 2019 4:28 pm บอร์ด Jquery & Ajax Knowledge
1
85
จ 23 ก.ย. 2019 6:30 pm โดย thatsawan
การทำลูป php - ผมอยากทำลูปให้แสดงรายละเอียดทั้งหมดที่มีในฐาน ต้องทำยังไงครับ
โดย Anonymous จ 23 ก.ย. 2019 12:07 pm บอร์ด Programming - PHP
0
67
จ 23 ก.ย. 2019 12:07 pm โดย บุคคลทั่วไป
ทำยังไง border ทั้งบอร์ดเป็น link ให้เรากดได้ครับ
โดย jamepiyawat ส 21 ก.ย. 2019 4:58 pm บอร์ด HTML CSS
6
131
ศ 04 ต.ค. 2019 2:37 pm โดย Bailey99
path way เมือกด step ถัดไปstep ที่เคยผ่านมาจะมีแท็ก a เพิ่มขึ้นทำให้ไปปิดตัวอักษร ครับ
โดย jamepiyawat ส 21 ก.ย. 2019 3:30 pm บอร์ด HTML CSS
0
42
ส 21 ก.ย. 2019 3:30 pm โดย jamepiyawat
อยากทราบวิธีที่จะทำให้คำสั่ง css เปลี่ยนไปตามการตั้งค่าสีของ tamplate ครับ
โดย jamepiyawat ส 21 ก.ย. 2019 2:55 pm บอร์ด Joomla Development
2
68
ส 21 ก.ย. 2019 3:19 pm โดย jamepiyawat
Q - อยากทราบวิธีคำนวณค่าสกุลเงินครับ
โดย birdkritsna ส 21 ก.ย. 2019 11:01 am บอร์ด Programming - PHP
19
261
จ 23 ก.ย. 2019 4:57 pm โดย birdkritsna
การ Install ส่วนขยาย
โดย Anonymous ส 21 ก.ย. 2019 11:11 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
3
80
พฤ 03 ต.ค. 2019 1:47 pm โดย Pannarai2015