Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

konverzija brojeva po bilo kojoj bazi u bazu 10

[es] :: C/C++ programiranje :: konverzija brojeva po bilo kojoj bazi u bazu 10

[ Pregleda: 4310 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mesic Aladin

Član broj: 71502
Poruke: 3
*.dlp334.bih.net.ba.



Profil

icon konverzija brojeva po bilo kojoj bazi u bazu 1020.10.2005. u 15:04 - pre 194 meseci
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.
 
Odgovor na temu

obranko
severna amerika

Član broj: 36599
Poruke: 152
*.cpe.net.cable.rogers.com.



+1 Profil

icon Re: konverzija brojeva po bilo kojoj bazi u bazu 1021.10.2005. u 04:51 - pre 194 meseci
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)
 
Odgovor na temu

obranko
severna amerika

Član broj: 36599
Poruke: 152
*.cpe.net.cable.rogers.com.



+1 Profil

icon Re: konverzija brojeva po bilo kojoj bazi u bazu 1021.10.2005. u 05:01 - pre 194 meseci
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.
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
*.neobee.net.

Jabber: DarkMan


Profil

icon Re: konverzija brojeva po bilo kojoj bazi u bazu 1027.10.2005. u 22:51 - pre 193 meseci
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]
 
Odgovor na temu

[es] :: C/C++ programiranje :: konverzija brojeva po bilo kojoj bazi u bazu 10

[ Pregleda: 4310 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.