я часто вижу что используют именно это представления при программировании пиков в частности. Вот например я хочу включить пятую ножку порта б, я сделаю так (в двоичной системе):
0b00100000
и тут все наглядно (учитывая что отсчет справа налево). По моему так более нагляднее что и где у тебя включено. Но то что используется именно восьмеричное представление у большинства, а двоичное (как я привел выше) используют только новички походу. Так вот в чем вопрос: может я что то не понимаю, может на самом деле восьмеричная выглядит более наглядней или еще что. Обьясните мне преимущества и вообще растолкуйте может я чето недопонимаю.
И второй вопрос — он чуть не по теме, но просто лень ради такой мелочи создавать отдельную тему. Вопрос: вот у нас есть мосфет IRF3205 в корпусе ТО220, если посмотреть даташит то там пишут что он может тянуть ток до 110А. Я как например представлю провода для такого тока то мне представляется кабель толщиной так минимум с палец ребенка и причем не одножильный а «волосатый», а тут корпус ТО220 у которого сечение ножки того же стока или истока отсилы 0,5мм2. Как же тогда он способен пропустить 110А?
По первому вопросу: используйте такую систему, которая вам удобнее. В битовых операциях однозначно удобнее двоичное представление, но если вы привыкнете к восьмеричному или шестнадцатиричному - не будет проблем и с ними. Тут только дело в том, насколько хорошо вы свыкнетесь с ними, чтобы свободно оперировать... По второму вопросу следует внимательнее читать первоисточники, а именно даташит. 110А указывается как возможность кристалла. Корпус типа TO220 длительно ни с такими токами, ни с таким тепровыделением от кристалла, работать не в состоянии. Такой ток имеет значение только для расчёта импульсных режимов.
Я тоже часто пользуюсь двоичной. Не считаю это признаком новичка.
_________________ ВНИМАНИЕ! Я часто редактирую свои сообщения, поэтому перед ответом мне советую обновить страницу. За перенос модераторами в МЯВУ тем с моими сообщениями я ответственности не несу.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
маленько поправлю — буквой х обозначается 16 ричное число. инт8 — обозначение восьмибитного числа (char) главный недостаток двоичной записи — размер (уж больно портянки длинные получаются ) согласен, двоичные числа в отладке удобнее (особенно если разговор идет о регистрах или портах)
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
"0x1234" - шестнадцатеричное представление. Восьмеричное - "01234". Да, в Си писать лишние нули перед числом не стоит, так как это признак другой формы записи числа.
"0b" - во-первых, это нестандартный формат записи, поддерживаемый не всеми компиляторами, а использовать нестандартные расширения без особой нужды - плохой тон, так как это ухудшает понимаемость и портируемость кода.
Во-вторых, запись с использованием двоичного представления действительно очень длинная. Представьте, что нужно записать 32 бита - от такого уже просто будет рябить в глазах.
В-третьих, если нас интересует конкретный бит, гораздо нагляднее записывать число с помощью сдвигов: (1<<1) | (1<<3) | (1<<5). Это тоже очень сильно улучшает восприятие кода.
В-четвертых, если эти биты имеют какое-то особое значение, лучше вообще задать их константами:
Код:
#define FLAG1 (1<<5) #define FLAG2 (1<<7)
...
if (var & FLAG1) { var2|=FLAG2; }
Такая запись абстрагирует читающего от нулей и единиц и сразу акцентирует внимание на смысле происходящего. Разумеется, константам-определениям нужно давать осмысленные имена.
Во всех остальных случаях шестнадцатеричная запись хороша тем, что одна цифра шестнадцатеричной записи четко соответствует четырем битам двоичной (ровно пол-байта), и при этом является стандартной формой записи в Си.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
можешь подсказать способ чтоб легко привыкнуть и ориентироваться в такой записи. то есть 0b01100101 - как такое число легко понять в щестандацт записи?
можешь подсказать способ чтоб легко привыкнуть и ориентироваться в такой записи.
Способ один - практиковаться. Через некоторое время привыкнете.
А так, каждому знаку шестнадцатеричного представления соответствует пол-байта:
Код:
0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 A 1010 B 1011 C 1100 D 1101 E 1110 F 1111
Удобство шестнадцатеричной системы именно в том, что получить бинарное представление можно, просто склеив представления отдельных символов (обратное тоже верно).
Вообще же, как я говорил выше, программа должна писаться так, чтобы человеку не приходилось часто переводить значения в уме. Если бит имеет определенное значение, его надо задать константой с помощью #define, как я показывал выше.
_________________ Разница между теорией и практикой на практике гораздо больше, чем в теории.
А кто вам сказал, что у всех одна цель - сжать портянки? С этим прекрасно справляются архиваторы Как раз наоборот, часто для капитального улучшения качества кода обязательно эту портянку "разжать". Грамотно, разумеется. Выше в теме всё это разобрано. И посмотрите сами, люди очень часто просят помочь им разобраться с кодом, написанным в стиле "музыки нулей и единиц". И редкая птица, желающая помочь, долетит до середины такого кода
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения