|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||
Запись констант в шестнадцатеричной системе23.08.2019, 14:16. Показов 10894. Ответов 39
Метки нет (Все метки)
Сейчас изучаю библиотеки связанные с блютуз и вот такая интересная штука
почти везде используется 16-теричная система для записи в переменную ,зачем и почему? вот примеры
0
|
||||||
| 23.08.2019, 14:16 | |
|
Ответы с готовыми решениями:
39
|
|
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
|
|
| 23.08.2019, 18:40 | |
|
ReYalp,
Ну если вам удобно записывать в десятичной системе счисления, то можно и так, ограничений же нет. У вас возник конкретный вопрос на который был дан ответ. А действовать согласно данным ответам или нет - решать конечно же вам. К тому же в вашем случае 0-9 не подойдёт, там числа двузначные
1
|
|
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
|
| 23.08.2019, 18:43 | |
|
ReYalp, Допустим, к LPT-порту присоединена планка из 8 светодиодов, а через переменную uint8_t lpt1 можно читать и писать значения порта (от 0 (всё диоды выключены) до 255 (все диоды светятся)). Допустим, что начальное значение на порту = 51 (4 диода горят, 4 - не горят)
Напиши кусок программы, который: а) гасит диод д1, б) зажигает диоды д2 и д3, ц) состояния диодов д4 и д5 изменяет на противоположное. Номера диодов: 0 ≤ дi ≤ 7. ------ Сделаешь - поймёшь глубинный смысл.
1
|
|
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 23.08.2019, 18:49 [ТС] | |
|
Verevkin, та писал я в универе на ассемблере ,я понимаю "глубинный смысл" ,просто в даном случае НЕ БЫЛО понятно зачем такой подход,ведь здесь нету ни диод и ничего другого,теперь я понял,спасибо
Добавлено через 1 минуту Verevkin, и даже в С++(или С) имел дело с битами,это все понятно
0
|
|
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
||
| 23.08.2019, 18:51 | ||
|
0
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 23.08.2019, 18:53 [ТС] | |
|
Verevkin, ну я уже понял что к чему и для чего такой подход,спасибо
0
|
|
|
Комп_Оратор)
|
|
| 24.08.2019, 18:32 | |
|
ReYalp, четыре бита это 16 (24) и следовательно байт кодируется парой 16-ричных чисел. Для 32 (слово в нашем обыденном понимании) - две праы. Их часто пишут через двоеточие типа A4:FC. Это стандартный подход кодировать байты парой 16-ричных разрядов. Четыре бита и еще четыре бита. Это придумано финикийскими пиратами. Минимальная штурмовая лодка имела по четыре весла с каждой стороны. Трудность была в том, что ещё не было латинского алфавита. То есть пришлось заставить римлян его создать. А цифры потибрили у арабов. Удобно даже для конспирации.
0
|
|
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|||||||||||||||||||
| 24.08.2019, 22:36 | |||||||||||||||||||
|
интерес представляет значение бит в числе, а не само число. когда ты видишь запись вида:
если бы там обычные десятичные циферки стояли бы, тогда этот массив 8 битных чисел так бы и воспринимался: как просто массив 8ми битных чисел. почему сразу не двоичная система? потому что запись была бы длиннее. и в кучке нуликов и единичек легко ошибиться. в смысле: используют более простую запись вида: 1 << Nоперация сложения флагов - это конечно какой то бред. использовать магические числа - тоже дикость. цивилизованные люди используют цивилизованные константы:
1. сами по себе запись очень легкая при написании: не нужно думать над фактическим значением флага. если бы в примере выше использовалась 16-тиричная система, и нужно было бы добавить ещё один флаг, пришлось бы думать/высчитывать: чему равно 1 << 4 в 16-тиричной системе?а нафига утруждать свой мозг какими то расчетами, когда можно сразу же тупо так и записать:
знай себе: увеличивай на единичку: 1<<4и пофиг каким будет итоговое значение константы. 2. лайф-хак. вот есть интовая переменная, которая содержит какие то флаги. и вот втыкаешь ты в отладчике, и что ты видишь? какую то непонятную циферку. и тебе совершенно не очевидно: так какие флаги то включены? а вот если бы ты использовал цивилизованный способ, как я обрисовал выше, тогда любой цивилизованный отладчик, показал бы тебе флаги красиво: фокус в том, что обычный int для отладчика - просто какое то число. компилятор не телепат. он понятия не имеет: флаги там, или что. но отладчики в курсе трюка с enumведь все возможные значения enum-констант известны заранее. поэтому, несложно догадаться, что переменная типа enum хранит набор флагов. и красиво отобразить их значения. так почему же многие люди используют обычные 16тиричные инты, вместо простых и красивых enum 1<< N ?а хз. может просто не раздуплили, что запись вида: 1<< N - проще.а про лайф-хак с enum просто не знают.
1
|
|||||||||||||||||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
||
| 24.08.2019, 22:45 | ||
|
как выглядит голимая 16тиричная фигня в двоичном виде. когда люди видят маску, им важно её говорящее имя, а не значение. для любителей есть православный bitset
0
|
||
|
Злостный нарушитель
10878 / 5817 / 1288
Регистрация: 12.03.2015
Сообщений: 26,855
|
|||
| 24.08.2019, 23:26 | |||
|
0
|
|||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|||||||
| 24.08.2019, 23:39 [ТС] | |||||||
0
|
|||||||
|
Комп_Оратор)
|
||
| 24.08.2019, 23:54 | ||
|
1
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 25.08.2019, 00:00 [ТС] | |
|
IGPIGP, и еще никогда не задумывался что значит 0x в начале?
0
|
|
|
Комп_Оратор)
|
||
| 25.08.2019, 00:12 | ||
1
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 25.08.2019, 00:23 [ТС] | |
|
IGPIGP, а если серьезно?
0
|
|
|
19501 / 10106 / 2461
Регистрация: 30.01.2014
Сообщений: 17,825
|
|
| 25.08.2019, 00:32 | |
|
ReYalp,
x - это от слова heXadecimal - шестнадцатеричный. А 0 в начале - это синтаксический костыль, чтобы можно было продолжать считать такой литерал числом (если мы уберем 0, то получим идентификатор, т.к. он начинается с буквы, по правилам С).
2
|
|
|
Комп_Оратор)
|
||
| 25.08.2019, 00:44 | ||
|
Это всё можно считать пруфом, так что я не выдумал ни чего. Может чуть приукрасил только.
0
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 25.08.2019, 00:47 [ТС] | |
|
IGPIGP, интересно,а у этого пирата был компьютер?
0
|
|
|
Комп_Оратор)
|
||
| 25.08.2019, 00:51 | ||
|
0
|
||
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
| 25.08.2019, 00:53 [ТС] | |
|
IGPIGP, а что за ОС у него была?
0
|
|
|
Комп_Оратор)
|
||
| 25.08.2019, 01:05 | ||
|
ReYalp, сейчас придут центурионы и разгонят пиратов по всей
1
|
||
| 25.08.2019, 01:05 | |
|
Запись в бинарный файл в шестнадцатеричной системе
Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Нейтральные знания ..., ... чистая наука. Пока что-то проходит модерацию на Хабре, стоит развить мысль ...
Hrethgir 20.07.2026
К таким радикальным взглядам я конечно в той публикации не приходил, но чтобы скоротать вечер, решил углубиться немного.
1. Почему показания термометра заряжены целью?
Цель заложена в самом. . .
|
Установка нескольких штампов электронной подписи в строго определенных местах файла docx
ВладимирСамохин 19.07.2026
(В!) Работа с Электронной подписью - это неотъемлемая часть современного документооборота. Но что делать, если нужно поставить несколько штампов электронной подписи в строго определенных местах. . .
|
сукцессия 35. Научная статья о проделанной работе
anaschu 19.07.2026
Написал в формате латекс и пдф
|
Вангую, что это не пройдёт модерацию, и на неделе я запущу свой сервер.
Hrethgir 19.07.2026
Эта публикация сейчас в песочнице и ждёт приглашения.
https:/ / habr. com/ ru/ sandbox/ 295048/
По ссылке 403. Не очень информативно такую ссылку постить.
Запись от Usaga размещена Сегодня в 06:46 . . .
|
|
сукцессия 33. открытые вопросы от клауде
anaschu 19.07.2026
"Что накопилось за эту часть А — тринадцать правок, из которых шесть пришли из ваших вопросов и каждая оказалась реальной ошибкой, а не калибровкой: односторонний симбиоз, отсутствующий листопад,. . .
|
32 сукцессия
anaschu 19.07.2026
сукцессия 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не «подкручивает» сходимость —. . .
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|