За уже почти 30 лет программирования и примерно 25 лет работы программистом, что-то, хотя бы отдалённо напоминающее использование систем счисления, отличных от десятичной, я видел примерно два раза
( Read more... )
Вообще-то в аппаратуре, в протоколах взаимодействия до сих часто используется позиционное кодирование. Там байты и слова режут по N бит. И вот в реализациях интерфейса взаимодействия по таким протоколам использовать систему счисления отличную от десятичной может быть целесообразно.
> Вообще-то в аппаратуре, в протоколах взаимодействия до сих часто используется позиционное кодирование.
В той самой аппаратуре, которую сделали в трёх экземплярах в 1970-м, а с тех пор она всем была так нужна, что для неё даже транслятор так никто и не сподобился написать.
> И вот в реализациях интерфейса взаимодействия по таким протоколам использовать систему счисления отличную от десятичной может быть целесообразно.
А переводить числа из одной системы счисления в другую всё так же не надо.
Почему в 70-м? Во вполне современной, к сожалению. При обмене короткими сообщениями. TLV к примеру используется.
А переводить числа из одной системы счисления в другую всё так же не надо. Как правило, но не всегда. От языка зависит. Недавно пришлось писать скрипт для матлаба в котором фигурировала длинная шестнадцатеричная константа-маркер. Поименовал её в начале скрипта - вбив значение в шестнадцатеричном же виде - всё было нормально. А заказчик запустил скрипт на версии 2008 года - получил ошибку - там такая запись еще не поддерживалась.
Но вообще-то на крайний случай всегда есть виндовый калькулятор...
> Почему в 70-м? Во вполне современной, к сожалению. При обмене короткими сообщениями. TLV к примеру используется.
Как оно записывается, в современности вообще всё равно. Поскольку в коде (для компилятора или для транслятора), всё равно будет что-то типа «getLength/setLength». То, что железяка это потом сохранит в пять байтов, а не в двадцать, в этом смысле вообще совсем без разницы.
> Недавно пришлось писать скрипт для матлаба в котором фигурировала длинная шестнадцатеричная константа-маркер.
Ответ прост и очевиден: не надо так делать. Если эта константа что-то значит по частям, а не целиком, скрипт должен начинаться с того, что её создают из чего-то значащих частей.
Таки недавно в Ардуино нужно было свой символ на дисплее нарисовать. Символ записывал в двоичной системе. Ноль пиксел выключен, один включен. Таки не всегда программируют под АйБиЭм ПиСи.
> Таки недавно в Ардуино нужно было свой символ на дисплее нарисовать. Символ записывал в двоичной системе. Ноль пиксел выключен, один включен.
Старание, достойное лучшего применения. Программа, которая по картинке выдаст список нужных чисел, занимает примерно одну строку. И я-таки почти гарантирую, что есть уже готовые. В частности, на поиск одной из таких ушло времени меньше, чем на то, чтобы сейчас об этом написать сюда.
Пардон, за навязчивость. Хочу удостовериться, что моё сообщение с ссылкой в личку ЖЖ дошло. А то ни какой реакции нет. Ожидал что-то вроде, мол, "хорошо, посмотрю", или "в таком исполнении нафиг не надо"...
Хорошо. Там дофига проверять. Заранее извиняюсь за форматирование текста, точнее его отсутствие. Делал в дефолтных стилях LibreOffice. Задумывалось так, чтобы было чисто без тэгов и можно было без проблем стилизовать, как хочешь. Но потом глянул, уже после отправки - слишком страшно. Надо было хоть абзацам отступы сделать.
"За уже почти 30 лет программирования и примерно 25 лет работы программистом, что-то, хотя бы отдалённо напоминающее использование систем счисления, отличных от десятичной, я видел примерно два раза."
TL;DR - Поэтому системы счисления, отличные от десятичной, программистам вообще не нужны.
(Хотя мельком и были упомянуты флаги, и потеря значимости (привет "Patriot"). Не была, правда, упомянута сложность нахождения десятичных чисел в даташите какого-либо микроконтроллера.)
> Поэтому системы счисления, отличные от десятичной, программистам вообще не нужны.
Программистам нужны джойстики для облёта небоскрёбов: это знает каждый, кто хорошо учился в школе, смотрел фильм «Хакеры» и никогда не занимался программированием.
«Нахмурив мохнатые брови и подняв палец вверх»: а вот как наступит долгожданный армагеддец (после онлайн-чипирования через 5G гейцом) и вам с Фродо придётся тащить кольцо в Мордор (вот где по дороге пригодятся бумажные книги) и, чтобы добросить кольцо до жерла вулкана и не обжечься, тут то и пригодится и таблица умножения, и тригонометрия, и баллистика! И все в уме, без куркуляторов и компуктеров!
Comments 142
Reply
В той самой аппаратуре, которую сделали в трёх экземплярах в 1970-м, а с тех пор она всем была так нужна, что для неё даже транслятор так никто и не сподобился написать.
> И вот в реализациях интерфейса взаимодействия по таким протоколам использовать систему счисления отличную от десятичной может быть целесообразно.
А переводить числа из одной системы счисления в другую всё так же не надо.
Reply
А переводить числа из одной системы счисления в другую всё так же не надо.
Как правило, но не всегда. От языка зависит. Недавно пришлось писать скрипт для матлаба в котором фигурировала длинная шестнадцатеричная константа-маркер. Поименовал её в начале скрипта - вбив значение в шестнадцатеричном же виде - всё было нормально. А заказчик запустил скрипт на версии 2008 года - получил ошибку - там такая запись еще не поддерживалась.
Но вообще-то на крайний случай всегда есть виндовый калькулятор...
Reply
Как оно записывается, в современности вообще всё равно. Поскольку в коде (для компилятора или для транслятора), всё равно будет что-то типа «getLength/setLength». То, что железяка это потом сохранит в пять байтов, а не в двадцать, в этом смысле вообще совсем без разницы.
> Недавно пришлось писать скрипт для матлаба в котором фигурировала длинная шестнадцатеричная константа-маркер.
Ответ прост и очевиден: не надо так делать. Если эта константа что-то значит по частям, а не целиком, скрипт должен начинаться с того, что её создают из чего-то значащих частей.
Reply
Таки не всегда программируют под АйБиЭм ПиСи.
Reply
Старание, достойное лучшего применения. Программа, которая по картинке выдаст список нужных чисел, занимает примерно одну строку. И я-таки почти гарантирую, что есть уже готовые. В частности, на поиск одной из таких ушло времени меньше, чем на то, чтобы сейчас об этом написать сюда.
https://javl.github.io/image2cpp/
Reply
А то ни какой реакции нет. Ожидал что-то вроде, мол, "хорошо, посмотрю", или "в таком исполнении нафиг не надо"...
Reply
Reply
Там дофига проверять.
Заранее извиняюсь за форматирование текста, точнее его отсутствие. Делал в дефолтных стилях LibreOffice. Задумывалось так, чтобы было чисто без тэгов и можно было без проблем стилизовать, как хочешь. Но потом глянул, уже после отправки - слишком страшно. Надо было хоть абзацам отступы сделать.
Reply
Reply
TL;DR - Поэтому системы счисления, отличные от десятичной, программистам вообще не нужны.
(Хотя мельком и были упомянуты флаги, и потеря значимости (привет "Patriot"). Не была, правда, упомянута сложность нахождения десятичных чисел в даташите какого-либо микроконтроллера.)
Reply
Программистам нужны джойстики для облёта небоскрёбов: это знает каждый, кто хорошо учился в школе, смотрел фильм «Хакеры» и никогда не занимался программированием.
Reply
(The comment has been removed)
Reply
Reply
Leave a comment