konwersja liczb
konwersja liczb
1. Napisz w języku C++ program, który dowolną liczbę naturalną n konwertuje na sytem binarny, oktalny, heksadecymalny.
-
- Użytkownik
- Posty: 6607
- Rejestracja: 16 sty 2007, o 19:42
- Płeć: Mężczyzna
- Podziękował: 119 razy
- Pomógł: 1823 razy
konwersja liczb
Kod: Zaznacz cały
#include <iostream>
using namespace std;
typedef unsigned int uint;
void Uint2Bin(uint Number);
void Uint2Oct(uint Number);
void Uint2Hex(uint Number);
char GetHexChar(uint Number);
int main()
{
uint Number=0;
cout<<"Podaj liczbe: ";
cin>>Number;
cout<<"\nLiczba "<<Number<<" w systemach (z prawej do lewej):\n- binarnym: ";
Uint2Bin(Number);
cout<<"\n- oktalnym: ";
Uint2Oct(Number);
cout<<"\n- heksadecymalnym: ";
Uint2Hex(Number);
return 0;
}
void Uint2Bin(uint Number)
{
uint Remainder;
if(Number<=1)
{
cout<<Number;
return;
}
Remainder=Number%2;
Uint2Bin(Number>>1);
cout<<Remainder;
}
void Uint2Oct(uint Number)
{
uint Remainder;
if(Number<=1)
{
cout<<Number;
return;
}
Remainder=Number%8;
Uint2Oct(Number>>3);
cout<<Remainder;
}
void Uint2Hex(uint Number)
{
uint Remainder;
if(Number<=1)
{
cout<<GetHexChar(Number);
return;
}
Remainder=Number%16;
Uint2Hex(Number>>4);
cout<<GetHexChar(Remainder);
}
char GetHexChar(uint Number)
{
if(Number<10)
return Number+'0';
switch(Number)
{
case 10:
return 'A';
case 11:
return 'B';
case 12:
return 'C';
case 13:
return 'D';
case 14:
return 'E';
case 15:
return 'F';
default:
return '?';
}
}
- kwak2k
- Użytkownik
- Posty: 24
- Rejestracja: 13 paź 2008, o 09:56
- Płeć: Mężczyzna
- Lokalizacja: Polska
- Podziękował: 1 raz
- Pomógł: 6 razy
konwersja liczb
Kod: Zaznacz cały
#include <iostream>
#include <bitset>
using namespace std;
int main()
{
unsigned long n;
cout<<"Podaj liczbe: ";
cin>>n;
bitset<32> b(n);
cout<<"bin:"<<b<<endl;
cout<<"hex:"<<hex<<n<<endl;
cout<<"oct:"<<oct<<n<<endl;
return 0;
}