1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Перевод из десятичной системы в 36` ричную

Тема в разделе "Программирование", создана пользователем Wise Man, 13.02.09.

  1. Wise Man

    Wise Man Новичок

    98
    0
    Вобщем, так, возникла потребности сделать маленикую прогу чтоб переводить числа из десятичной системы в тридцатишестиричную :p

    Попытки кажется мои не очень удались, кто сможет помочь буду очень благодарен, язык желательно Delphi ну или Паскаль ;)

    Вот что у меня получилось:
    Код:
    program task02;   
    const  
        hash_table : string = '0123456789abcdefghijklmnopqrstuvwxyz';   
      
    var  
        c         : byte;   
            chislo    : integer;   
            osnovanie : byte;   
            otvet     : string;   
      
      
    begin  
        Write('Ishodnoe chislo v desyatichnoi sisteme schislenia: '); ReadLn(chislo);   
        Write('Vvedite osnovanie sistemi ischiclenia: '); ReadLn(osnovanie);   
      
        otvet := '';   
      
        while chislo > osnovanie do  
        begin  
            otvet  := hash_table[(chislo mod osnovanie)+1] + otvet;   
            chislo := chislo div osnovanie;   
        end;   
      
            if chislo=osnovanie then  
               otvet  := hash_table[chislo] + otvet   
            else  
               otvet  := hash_table[chislo + 1] + otvet;   
      
        WriteLn('Otvet = ', otvet,'.');   
      
        Write('Press any key for continue...'); ReadLn;   
    end.  
    
    добавлено через 49 минут
    Тему можно закрывать :) уже разобрался
     
  2. mrak

    mrak Активный участник

    3.593
    0
  3. Wise Man, проще было воспользоваться побитовым сдвигом из одного регистра арифметического сдвига в другой.
     
  4. Lexie

    Lexie Участник

    304
    0
    например так:
     
  5. Caps

    Caps Активный участник

    4.342
    18
    mrak,
    Читал сцылко, много думал. Не нашел фортрана, семейства пл и клиппера. Срочно ответьте это быдлоязыки или нет.

    ps: сайт порадовал. читал статью про эрланг. позабавила цитата
    Аффтар велкий знаток...
    А еще меня в вузе учили, что рекурсию надо иногда заменять итерацией, дабы не иметь определенного гемороя с переполнением стэка. У меня были преподы-идиоты?
     
  6. У преподов был маленький стек :haha:

    Вообще, я бы, еси бы учил людей программить, начинал бы с арифметики: целые числа со знаком, целые числа без знака, биты признаков, сложение, вычитание, изменение знака числа и т.д.
     
  7. Caps

    Caps Активный участник

    4.342
    18
    SS:SP - он такой один! (с)

    Ну, в текущей жизни это пригодится разве что для пишущих на каком-нить embedded C. А начинать надо, на самом деле, с математики - алгоритмы поиска/сортировки/метопт ну вобщем то что надо знать. А уж как оно в памяти лежит - сейчас вобщем-то это уже не так важно. Учитывая что нынче дошло до того что int на самом деле не просто int, а System.Int32...
     
  8. mrak

    mrak Активный участник

    3.593
    0
    Caps, это всё стёб, можешь ещё это почитать прикольна :) только несколько по другой теме.

    А это ты, вообще, о чём? К чему? И откуда мне знать кем там у тебя преподы были... тебе виднее.
     
  9. эхх, помню, на 8080 особо циничная команда ассемблера была XTHL - обмен вершины стека с регистровой парой HL. Выполнялось это ажнег за 18 тактов процессора.
    Программирование в асме для этих монстров очень напоминало перманентную головоломку, а адекватных компиляторов для них были считанные единицы.
    Я чего её вспомнил: в некоторых случая такие команды + прогон стека служили избавлением от наползания стека на память.

    ну если компайлер будет эффективно упрощать сложные конструкции, написанные не соображающими в арифметике программерами, в простые, то можт и да, знать это станет не нужно.
    Но, я считаю, каждый уважающий себя программер просто обязан знать основы.

    а это уже следует изучать во вторую очередь.
     
  10. Caps

    Caps Активный участник

    4.342
    18
    Это к статье - Кнут и Вирт видимо зазря трудились. И при желаннии - рекурсию можно считать мемом башорга. На качество кода не сильно это влияет. Ну и так далее. Кто бы рассуждал об индийском коде... А куски кода в продакшене менять - это можно было еще в засратом клиппере. А засовывать в былокодерские языки фокспро и кобол - :hah: ну идиот автор.

    добавлено через 6 минут
    Мы таки готовим программистов или кодеров?
    КР580ВМ80А :vcrazy:
     
  11. Архитектор просто обязан знать строймех и стройматериалы.
    :cheer:
    //Асм и даже некоторые коды команд для этого проца помню досе.
     
  12. Caps

    Caps Активный участник

    4.342
    18
    Нет. не обязан. Он может и не знать разницу между М500 и М200 - что конкретно закладывать решает ГИП/Конструктор. Хуже того - конструктор вынужен решать проблему - как сделать так, что бы то что нарисовал архитектор не развалилось :)
    Хотя конечно общее представление должно быть.
    ps: кстати, 1 апреля исполняется 35 лет со дня официальной презентации i8080.
     
    Последнее редактирование: 12.03.09