[ Mesic Aladin @ 20.10.2005. 15:04 ] @
Molim sve koji bi mi mogli rijesiti ovaj problem da mi pomognu.Baze iz kojih mi treba konverzija su:2,3,4,5,6,7,8,9,11,12,13,14,15,16. |
[ Mesic Aladin @ 20.10.2005. 15:04 ] @
[ obranko @ 21.10.2005. 04:51 ] @
pozdrav,
generalno algoritam je ovakav: podelis broj sa bazom - nadjes kolicnik i ostatak ostatak zapises a kolicnik proglasis novim brojem ponavljas postupak sve dok kolicnik ne bude nule tada ostatke procitas sa desna u levo i to ti je rezultat: evo primer: broj 111 baza 5 111:5 = 22 ostatak 1 22:5 = 4 ostatak 2 4:5 = 0 statak 4 broj je 421(baza 5) [ obranko @ 21.10.2005. 05:01 ] @
opa, nisam video da se trazi obrnuti postupak. mogu se koristiti dva nacina:
prvi: neka je broj abcdef napisan u sistemu sa osnovom x. konvertovanje u dekadni sistem se izvodi ovako: ((((a * x + b) * x + c) * x + d) * x + e) * x + f drugi nacin je slican onome koji sam opsao u prvoj poruci: neka je dat broj N1 sa osnovom X. neka je y broj koji preveden u dekadni sistem iznosi deset ( na primer ako je sistem sa osnovom 5, y = 20 (u sistemu sa osnovom 5). primentiti postupak koji sam opisao u prdhodnoj poruci. obratiti paznju da se deli u sistemu sa osnovom X. ostatke pretvarati u dekadni sistem. N1 : y = N2 i ostatak O1 N2 : y = N3 i ostatak O2 ... Nn : y = 0 i ostatak On ostatke O1, O2, ..., On konvertovati u dekadni sistem, i zapisati ih obrnutim redom O1(osnova X) = D1 (osnova 10) ... On(osnovca X) = Dn (osnova 10) trazeni broj je Dn...D1D0. [ DarkMan @ 27.10.2005. 22:51 ] @
Ili mozes da koristis vec gotovu funkciju strtoul (definisana u header-u stdlib.h):
Code: unsigned long strtoul( const char *nptr, char **endptr, int base ); Parameters: nptr Null-terminated string to convert. endptr Pointer to character that stops scan. base Number base to use. Return Value strtoul returns the converted value, if any, or ULONG_MAX on overflow. strtoul returns 0 if no conversion can be performed. Errno is set to ERANGE if overflow or underflow occurs. Mali primer: Code: #include <stdio.h> #include <conio.h> #include <stdlib.h> int main() { printf("(hex) FF = (dec) %d", strtol("FF", NULL, 16)); printf("press any key..."); getch(); return 0; } [Ovu poruku je menjao DarkMan dana 27.10.2005. u 23:52 GMT+1] Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|