Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình chuyển đổi từ bát phân sang thập phân trong C ++

Được đưa ra với một số bát phân làm đầu vào, nhiệm vụ là chuyển đổi số bát phân đã cho thành số thập phân.

Các số thập phân trong máy tính được biểu diễn với cơ số 10 và số bát phân được biểu thị với cơ số 8 bắt đầu từ chữ số 0 đến 7 trong khi số thập phân có thể là bất kỳ chữ số nào bắt đầu từ 0 - 9.

Để chuyển đổi một số bát phân thành một số thập phân, hãy làm theo các bước sau -

  • Chúng tôi sẽ trích xuất các chữ số bắt đầu từ phải sang trái cho đến phần dư và sau đó nhân nó với lũy thừa bắt đầu từ 0 và sẽ được tăng lên 1 cho đến khi (số chữ số) - 1
  • Vì chúng ta cần thực hiện chuyển đổi từ hệ bát phân sang hệ nhị phân nên cơ số lũy thừa sẽ là 8 vì bát phân có cơ số 8.
  • Nhân các chữ số của đầu vào đã cho với cơ số và công suất và lưu trữ kết quả
  • Cộng tất cả các giá trị đã nhân để nhận được kết quả cuối cùng là số thập phân.

Dưới đây là biểu diễn bằng hình ảnh của việc chuyển đổi một số bát phân thành một số thập phân.

Chương trình chuyển đổi từ bát phân sang thập phân trong C ++

Ví dụ

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

Thuật toán

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

Ví dụ

#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);
}

Đầu ra

NẾU CHÚNG TÔI CHẠY MÃ TRÊN, NÓ SẼ TẠO ĐẦU RA SAU ĐÂY

after conversion value is 37