Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int hexToDec(string hex)
- {
- int dec=0;
- int n=hex.size();
- for(int i=2;i<n;i++) //ignoruje miejsce 0 i 1 bo to "0x"
- {
- dec*=16;
- if(hex[i]<='9') dec+=hex[i]-'0';
- else dec+=hex[i]-'a'+10;
- }
- return dec;
- }
- string decToHex(string dec)
- {
- int iDec=0;
- int n=dec.size();
- for(int i=0;i<n;i++) //zamiana stringa dec na inta iDec
- {
- iDec*=10;
- iDec+=dec[i]-'0';
- }
- string hex="";
- while(iDec>0) //zamiana inta iDec na stringa (hex) reprezentujÄ cego jego zapis szesnastkowy
- {
- int digit = iDec%16;
- char c; //cyfra szesnastkowa odpowiadajaca intowi digit
- if(digit<10) c=digit+'0';
- else c=digit+'a'-10;
- hex = c+hex;
- iDec/=16;
- }
- hex = "0x"+hex;
- return hex;
- }
- int main()
- {
- string a;
- cin>>a;
- while(a!="-1")
- {
- if(a[1]=='x')
- {
- cout<<hexToDec(a)<<endl;
- }
- else
- {
- cout<<decToHex(a)<<endl;
- }
- cin>>a;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement