Rezolvați următoarele probleme:
1. Convertiți numărul 11010011 din binar în zecimal.
2. Convertiți numarul 3247 din octal în zecimal.
3. ConvertițI numărul 4B2A din hexazecimal în zecimal.
4. Convertiți numărul 37 din zecimal în binar. 5. Convertiți numărul 125 din zecimal în octal.
6. Convertiți numărul 349 din zecimal în hexazecimal.
Vă rog îmi trebuie urgent!
Dau coroana
Răspunsuri la întrebare
URMATORUL ALGORITM SE APLICA PENTRU TOATE ACESTE PROBLEME SI SE FOLOSESTE ASTFEL:
1. INTRODUCI NUMARUL APOI UN SPATIU SI APOI BAZA IN CARE E
ex: 12 10
2. INTRODUCI BAZA IN CARE VREI SA FIE CONVERTIT, APOI APESI ENTER SI TI SE VA AFISA REZULTATUL
#include<iostream>
#include<cstring>
using namespace std;
void conv(char s[20], int b1, int b2) {
int k = 0, r, nr, n = 0, b = 1;
for (int i = strlen(s) - 1; i >= 0; i--) {
if (s[i] >= 'A' && s[i] <= 'Z')
nr = s[i] - '0' - 7;
else
nr = s[i] - '0';
n = nr * b + n;
b = b * b1;
}
while (n != 0) {
r = n % b2;
nr = '0' + r;
if (nr > '9')
nr += 7;
s[k] = nr;
k++;
n = n / b2;
}
for (int i = k - 1; i >= 0; i--)
cout << s[i];
}
int main() {
char s[20];
int b1, b2;
cout << "numarul urmat de baza: ";
cin.get(s, 20, ' '), cin.get(), cin >> b1;
cout << "baza in care sa fie convertit: ";
cin >> b2;
conv(s, b1, b2);
}