การแปลงเลขฐานสิบที่เป็นเลขทศนิยมให้เป็นเลขฐานอื่น

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

ทำซ้ำจนกระทั่งได้คำตอบที่เราเห็นว่าเหมาะสม แล้วจึงนำค่าที่เราเก็บไว้มาเขียนเป็นเลขฐานที่เราต้องการซึ่งจะเป็นทศนิยม โดยค่าจำนวนเต็มที่ได้จากการเก็บในครั้งแรกจะเป็นตัวที่มีนัยความสำคัญสูงที่สุด (MSD : Most Significant Digit) และค่าจำนวนเต็มที่ได้จากการเก็บในครั้งสุดท้ายจะเป็นตัวที่มีนัยความสำคัญน้อยที่สุด (LSD : Least Significant Digit) 

1. การแปลงเลขฐานสิบที่เป็นเลขทศนิยมให้เป็นฐานสอง
เลขฐานสิบที่เป็นทศนิยม ถ้าต้องการแปลงให้เป็นเลขฐานสอง  ทำได้โดยการคูณจำนวนทศนิยมนั้นด้วยฐานสองหลายๆ ครั้งจนมีค่าเป็นศูนย์  ผลลัพธ์จากการคูณที่เป็นจำนวนเต็มก็คือคำตอบที่ต้องการ
ตัวอย่าง  แปลง 0.312510 ให้เป็นเลขฐานสอง
 
นำจำนวนเต็มที่ได้มาเรียงจากบนลงล่า(MSD to LSD)  ดังนั้น 0.3125(เลขฐานสิบ)  =  0.0101(เลขฐานสอง)

2. การแปลงเลขฐานสิบที่เป็นเลขทศนิยมให้เป็นฐานแปด
เลขฐานสิบที่เป็นทศนิยม ถ้าต้องการแปลงให้เป็นเลขฐานแปด  ทำได้โดยการคูณจำนวนทศนิยมนั้นด้วยฐานแปดหลายๆ ครั้งจนมีค่าเป็นศูนย์  ผลลัพธ์จากการคูณที่เป็นจำนวนเต็มก็คือคำตอบที่ต้องการ 
ตัวอย่าง  แปลง 0.6418 ให้เป็นเลขฐานแปด
นำจำนวนเต็มที่ได้มาเรียงจากบนลงล่า(MSD to LSD)  ดังนั้น  0.6418(เลขฐานสิบ)  =  0.510464(เลขฐานแปด)

3. การแปลงเลขฐานสิบที่เป็นเลขทศนิยมให้เป็นฐานสิบหก
เลขฐานสิบที่เป็นทศนิยม ถ้าต้องการแปลงให้เป็นเลขฐานสิบหก  ทำได้โดยการคูณจำนวนทศนิยมนั้นด้วยฐานสิบหกหลายๆ ครั้งจนมีค่าเป็นศูนย์  ผลลัพธ์จากการคูณที่เป็นจำนวนเต็มก็คือคำตอบที่ต้องการ
ตัวอย่าง  แปลง 0.0123 ให้เป็นเลขฐานสิบหก
นำจำนวนเต็มที่ได้มาเรียงจากบนลงล่า(MSD to LSD)  ดังนั้น  0.23(เลขฐานสิบ)  =  0.3AE147AE(เลขฐานสิบหก)

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

20 ความคิดเห็น:

  1. ถ้ากรณีแปลงจากเลขฐาน10เป็นฐาน2 กรณีนี้ล่ะคับ 0.344
    0.344×2=0.688
    0.44×2=0.88
    0.4×2=0.8
    คำตอบต้องเป็นยังไงครับ..ช่วยหน่อยครับ

    ตอบลบ
    คำตอบ
    1. 0.344*2=0.688 ได้ 0
      0.688*2=1.376 ได้ 1
      0.376*2=0.752 ได้ 0
      0.752*2=1.504 ได้ 1
      0.504*2=1.008 ได้ 1
      .008*2=0.016 ได้ 0
      0.016*2=0.032 ได้ 0
      0.032*2=0.064 ได้ 0
      0.064*2=0.128 ได้ 0
      พอ สรุปได้ .01010000000

      ลบ
    2. ทำไหมหยุดที่ 0.128 คะ?

      ลบ
    3. 5 5 5
      ทำไมหยุดที่ 0.128

      ทำไมไม่ตอบ

      ลบ
    4. 5 5 5
      ทำไมหยุดที่ 0.128

      ทำไมไม่ตอบ

      ลบ
    5. ถ้าจำไม่ผิด ตามมารตรฐานอะไรซักอย่างไม่แน่ใจว่าเป็น IEEE754 มันจะเป็น เลข 0 ซ้ำครับ หากทำไปเรื่อยๆมันจะเป็นเลขซ้ำวนลูปอย่างเช่น 0.1214121454212121212121212 แบบนี้ หากซ้ำบ่อยๆเราก็ปัดทิิ้งให้ไปทศนิยมกี่ตัวซึ่งตัวที่เราปัดทิ้งมันก็จะถือว่าเป็นความคลาดเคลื่อนของตัวเลขก็ได้ครับ

      ลบ
  2. 25.1875ฐาน10 เป็น ฐาน2 ทำยังไงคะ

    ตอบลบ
    คำตอบ
    1. ทำไม่เป็นครับ

      ลบ
    2. หาค่าหน้าทศนิยมก่อน คือ 25
      2 หาร 25
      ได้ 12 เศษ 1
      2 หาร 12
      ได้ 6 เศษ 0
      2 หาร 6
      ได้ 3 เศษ 0
      2 หาร 3
      ได้ 1 เศษ 1
      จะได้คำตอบไล่จากล่างขึ้นบนเป็น 11001
      --------------
      จากนั้นคิดหลังทศนิยม 0.1875
      ให้นำเลขฐานมาคูณจนเลขหลังทศนิยมเท่ากับ 0
      0.1875*2 = 0.3750
      นำเลขหลังทศนิยมมาคูณต่อ
      0.3750*2 = 0.7500
      0.7500*2 = 1.5000
      0.5000*2 = 1.0000
      คิดคำตอบจากเลขหน้าจุด จะได้เป็น 0.0011
      นำมารวมกันจะได้ (25.1875)10 = (11001.0011)2

      ลบ
    3. ถ้าคูณแล้วมันไม่เป็น 0 ล่ะ
      จะ ท า ม ย า ง ง า ย

      ลบ
    4. ถ้าคูณแล้วมันไม่เป็น 0 ล่ะ
      จะ ท า ม ย า ง ง า ย

      ลบ
  3. (11.75) ฐาน 8 ให้แปลงเป็น ฐาน 10 ทำยังไงครับ

    ตอบลบ
    คำตอบ
    1. วิธีคิดให้เอาเลขทีละหลักมาคูณเลขฐานเดิม ซึ่งเลขฐานจะยกกำลังนับจากทศนิยมไปทางซ้ายเป็น 0 1 2 3... ถ้ามีทศนิยมให้นับจากจุดทศนิยมไปทางขวาไป
      อย่างเช่น 110.01
      เลข 1 ตัวแรกจะ คูณด้วย 2 ยกกำลัง 2
      เลข 1 ตัวถัดไปจะคูณด้วย 2 ยกกำลัง 1
      เลข 0 ตัวที่สามจะคูณด้วย 2 ยกกำลัง 0
      หลังทศนิยมจะติดลบ -1 -2 -3...
      เลข 0 จะคูณด้วย 2 ยกกำลัง -1
      เลข 1 จะคูณด้วย 2 ยกกำลัง -2
      --------------------
      จากโจทย์จะคิดได้ดังนี้
      = (1*8^1)+(1*8^0)+(7*8^-1)+(5*8^-2)
      = 8+1+0.875+0.078
      = 9.953

      ลบ
  4. ไม่ระบุชื่อ30 มีนาคม 2562 เวลา 08:26

    234.125ทำเป็นเลขฐาน16ยังไงคับ

    ตอบลบ
  5. แล้ว 11101.101 ฐาน2 เป็นฐาน10 ทำยังไงครับช่วยตอบด้วยครับ

    ตอบลบ
    คำตอบ
    1. วิธีคิดให้เอาเลขทีละหลักมาคูณเลขฐานเดิม ซึ่งเลขฐานจะยกกำลังนับจากทศนิยมไปทางซ้ายเป็น 0 1 2 3... ถ้ามีทศนิยมให้นับจากจุดทศนิยมไปทางขวาไป
      อย่างเช่น 110.01
      เลข 1 ตัวแรกจะ คูณด้วย 2 ยกกำลัง 2
      เลข 1 ตัวถัดไปจะคูณด้วย 2 ยกกำลัง 1
      เลข 0 ตัวที่สามจะคูณด้วย 2 ยกกำลัง 0
      หลังทศนิยมจะติดลบ -1 -2 -3...
      เลข 0 จะคูณด้วย 2 ยกกำลัง -1
      เลข 1 จะคูณด้วย 2 ยกกำลัง -2
      --------------
      โจทย์ที่ถามมาจะทำได้ดังนี้
      = (1*2^4)+(1*2^3)+(1*2^2)+(0*2^1)+(1*2^0)+(1*2^-1)+(0*2^-2)+(1*2^-3)
      = 16+8+4+2+1+0.5+0.125
      = 31.625

      ลบ
  6. 0.A3E ฐาน16เป็นฐาน10ล่ะคะ

    ตอบลบ
  7. 1768ฐาน3ทำให้เป็นฐาน2 ล่ะค่ะ

    ตอบลบ
  8. 0.3897 แปลงเป็นทศนิยมฐาน2 ได้ไหมครับ ผมใช้วิธีที่อ่านด้านบนแล้ว ทำไม่ได้ครับ

    ตอบลบ
  9. ถ้า 6305001.023 ฐ10 ไป ฐ 2,8,16 จะได้คำตอบแบบไหน ในแต่ละฐานคะ

    ตอบลบ