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

แปลงตัวเลขเป็นการแทนค่าฐานลบใน C++


ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อแปลงตัวเลขเป็นการแทนค่าฐานลบ

สำหรับสิ่งนี้เราจะมีตัวเลขและฐานลบที่เกี่ยวข้อง งานของเราคือการแปลงตัวเลขที่กำหนดเป็นฐานลบเทียบเท่า เราอนุญาตเฉพาะค่าระหว่าง -2 ถึง -10 สำหรับค่าฐานลบ

ตัวอย่าง

#include <bits/stdc++.h>
using namespace std;
//converting integer into string
string convert_str(int n){
   string str;
   stringstream ss;
   ss << n;
   ss >> str;
   return str;
}
//converting n to negative base
string convert_nb(int n, int negBase){
   //negative base equivalent for zero is zero
   if (n == 0)
      return "0";
   string converted = "";
   while (n != 0){
      //getting remainder from negative base
      int remainder = n % negBase;
      n /= negBase;
      //changing remainder to its absolute value
      if (remainder < 0) {
         remainder += (-negBase);
         n += 1;
      }
      // convert remainder to string add into the result
      converted = convert_str(remainder) + converted;
   }
   return converted;
}
int main() {
   int n = 9;
   int negBase = -3;
   cout << convert_nb(n, negBase);
   return 0;
}

ผลลัพธ์

100