Odpovedať 
 
Hodnotenie témy:
  • 0 Hlasov - 0 Priemer
  • 1
  • 2
  • 3
  • 4
  • 5
Převod sousat
03-15-2013, 19:29
Príspevok: #2
RE: Převod sousat
vymyslel som nieco taketo:

program:
Kód:
zo_sustavy = input('Zo sustavy: '); % 2-16
do_sustavy = input('Do sustavy: '); % 2-16
cislo = input('Cislo: ');
fromBaseToBase( zo_sustavy, do_sustavy, cislo )

funkcia (fromBaseToBase.m) :

Kód:
function [new_number] = fromBaseToBase(from, to, number)    
    allchars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
    allchars_int32 = int32( allchars );

    if ( from ~= 10 ) %najskor dam do 10kovej ak v nej nieje
        number_ten = 0;
        tmp = int32( number );
        i = length( tmp );
        while ( i > 0 )
            pow = length( tmp ) - i;
            number_ten = number_ten + ( find( allchars_int32==tmp(i) ) - 1 ) * from^pow;
            i = i - 1;
        end

    else
        number_ten = number;
    end
    %prevod z 10 do zadanej v prementj 'to'
    number_ten = int32(number_ten);
    to = int32(to);
    new_number = '';
    while( number_ten ~= 0 )
        rest = rem( number_ten, to );
        number_ten = idivide( number_ten, to, 'fix' );
        new_number = strcat( allchars(rest+1), new_number );
    end

end

ak je cislo (number) v inej ako 10kovej sustave treba ho dat do uvodzovniek '<cislo>'
mozno sa to da aj nejako lahsie, s pomocou funkcii matlabu ale to som nezistoval
Vyhľadať všetky príspevky tohoto používateľa
Citovať príspevok v odpovedi
Odpovedať 


Príspevky v tejto téme
Převod sousat - Nymik - 03-14-2013, 15:30
RE: Převod sousat - Larry - 03-15-2013 19:29
RE: Převod sousat - Nymik - 03-18-2013, 09:54

Skok na fórum:




Kontakty | matlab.sk | Nahor | Na obsah | Odľahčený (archivačný) mód | RSS