Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมสำหรับการแปลงฐานแปดเป็นทศนิยมใน C++


ด้วยตัวเลขฐานแปดเป็นอินพุต ภารกิจคือการแปลงเลขฐานแปดที่กำหนดให้เป็นเลขฐานสิบ

ตัวเลขทศนิยมในคอมพิวเตอร์จะแสดงด้วยฐาน 10 และเลขฐานแปดจะแสดงด้วยฐาน 8 โดยเริ่มจากหลัก 0 ถึง 7 ในขณะที่ตัวเลขทศนิยมสามารถเป็นตัวเลขใดๆ ก็ได้ตั้งแต่ 0 – 9

ในการแปลงเลขฐานแปดเป็นเลขฐานสิบ ให้ทำตามขั้นตอนเหล่านี้ -

  • เราจะแยกตัวเลขเริ่มต้นจากขวาไปซ้ายจนถึงเศษที่เหลือ จากนั้นคูณด้วยกำลังเริ่มต้นจาก 0 และจะเพิ่มขึ้น 1 จนถึง (จำนวนหลัก) – 1
  • เนื่องจากเราต้องแปลงจากฐานแปดเป็นเลขฐานสอง ฐานกำลังจึงเป็น 8 เนื่องจากฐานแปดมีฐาน 8
  • คูณตัวเลขของอินพุตที่กำหนดด้วยฐานและกำลังและเก็บผลลัพธ์
  • เพิ่มค่าที่คูณทั้งหมดเพื่อให้ได้ผลลัพธ์สุดท้ายซึ่งจะเป็นเลขฐานสิบ

ด้านล่างนี้คือการแสดงรูปภาพของการแปลงเลขฐานแปดเป็นเลขฐานสิบ

โปรแกรมสำหรับการแปลงฐานแปดเป็นทศนิยมใน C++

ตัวอย่าง

Input-: 451
   1 will be converted to a decimal number by -: 1 X 8^0 = 1
   5 will be converted to a decimal number by -: 5 X 8^1 = 40
   4 will be converted to a decimal number by -: 4 X 8^2 = 256
Output-: total = 0 + 40 + 256 = 10

อัลกอริทึม

Start
Step 1-> declare function to convert octal to decimal
   int convert(int num)
      set int temp = num
      set int val = 0
      set int base = 1
      Set int count = temp
      Loop While (count)
         Set int digit = count % 10
         Set count = count / 10
         Set val += digit * base
         Set base = base * 8
      End
      return val
step 2-> In main()
   set int num = 45
   Call convert(num)
Stop

ตัวอย่าง

#include <iostream>
using namespace std;
//convert octal to decimal
int convert(int num) {
   int temp = num;
   int val = 0;
   int base = 1;
   int count = temp;
   while (count) {
      int digit = count % 10;
      count = count / 10;
      val += digit * base;
      base = base * 8;
   }
   return val;
}
int main() {
   int num = 45;
   cout <<"after conversion value is "<<convert(num);
}

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น จะเกิดผลลัพธ์ดังต่อไปนี้

after conversion value is 37