wpcsw

Przeliczanie pomiędzy systemem szesnastkowym i dziesiętnym

Celem zadania jest implementacja prostego narzędzia konsolowego do przeliczania liczb z systemu dziesiętnego na szesnastkowy i odwrotnie.

Przykład działania - konwersja z systemu szesnastkowego na binarny

Jeżeli użytkownik poda jako pierwszy argument do programu ciąg znaków zaczynający się od liter 0x, oznacza to, że podana liczba jest zapisana w formacie szesnastkowym i program wypisze jej wartość zapisaną w formacie dziesiętnym.

$ ./program 0x1
1
$ ./program 0xeaa
3754

Przykład działania - konwersja z systemu binarnego na szesnastkowy

Jeżeli użytkownik poda jako pierwszy argument do programu ciąg znaków nie zaczynający się od liter 0x, oznacza to, że podana liczba jest zapisana w formacie dziesiętnym i program wypisze jej wartość zapisaną w formacie szesnastkowym.

$ ./program 1
0x1
$ ./program 3754
0xeaa

Przykład działania - błąd

Jeżeli użytkownik poda jako pierwszy argument do programu ciąg znaków nie będący liczbą w formacie szesnastkowym ani w formacie dziesiętnym to program powinien wypisać błąd na standardowy strumień błędów

$ ./program sdflksgdkgdsfbklgsdklbkfjd
error: not a number

Przykład działania - brak argumentów

Jeżeli użytkownik nie poda argumentów, to program powinien wypisać pomoc.

$ ./program
usage: program NUMBER

Wskazówki