ในบทช่วยสอนนี้ เราจะพูดถึงโปรแกรมเพื่อแปลงตัวเลขเป็นการแทนค่าฐานลบ
สำหรับสิ่งนี้เราจะมีตัวเลขและฐานลบที่เกี่ยวข้อง งานของเราคือการแปลงตัวเลขที่กำหนดเป็นฐานลบเทียบเท่า เราอนุญาตเฉพาะค่าระหว่าง -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