За последние 24 часа нас посетили 17562 программиста и 1594 робота. Сейчас ищут 1512 программистов ...

Перевод чисел в другие системы счисления

Тема в разделе "Решения, алгоритмы", создана пользователем ARACOOL, 8 янв 2009.

  1. ARACOOL

    ARACOOL Активный пользователь

    С нами с:
    10 ноя 2006
    Сообщения:
    52
    Симпатии:
    0
    Адрес:
    Самарканд
    PHP:
    1. <?
    2. function custombase_convert_big ($numstring, $frombase, $tobase)
    3. {
    4.    $chars = "0123456789abcdefghijklmnopqrstuvwxyz";
    5.    $tostring = substr($chars, 0, $tobase);
    6.    $numstring = strtolower($numstring);
    7.    $length = strlen($numstring);
    8.  
    9.    $number = array();
    10.    for ($i = 0; $i < $length; $i++) {
    11.       $number[$i] = strpos($chars, $numstring{$i});
    12.    }
    13.  
    14.    $result = '';
    15.    do {
    16.       $divide = 0;
    17.       $newlen = 0;
    18.       for ($i = 0; $i < $length; $i++) {
    19.          $divide = $divide * $frombase + $number[$i];
    20.          if ($divide >= $tobase) {
    21.             $number[$newlen++] = (int) ($divide / $tobase);
    22.             $divide = $divide % $tobase;
    23.          } elseif ($newlen > 0) {
    24.             $number[$newlen++] = 0;
    25.          }
    26.       }
    27.       $length = $newlen;
    28.       $result = $tostring{$divide} . $result;
    29.    } while ($newlen != 0);
    30.    return $result;
    31. }
    32. ?>
     
  2. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия