Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 3 odgovora
  • 6.303 pregleda

Najnovija ↓

Re: konverzija brojeva po bilo kojoj bazi u bazu 10 21.10.2005. u 05:51 · pre 256 meseci #2
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)
Re: konverzija brojeva po bilo kojoj bazi u bazu 10 21.10.2005. u 06:01 · pre 256 meseci #3
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.
Re: konverzija brojeva po bilo kojoj bazi u bazu 10 27.10.2005. u 23:51 · pre 255 meseci
izmenjeno 1 put, poslednji put DarkMan 27.10.2005. u 23:52
  1. DarkMan27.10.2005. u 23:52zapis iz teksta poruke
#4
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;
}
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme