63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
||||||
1 | ||||||
Запись констант в шестнадцатеричной системе23.08.2019, 14:16. Показов 8685. Ответов 39
Метки нет Все метки)
(
Сейчас изучаю библиотеки связанные с блютуз и вот такая интересная штука
почти везде используется 16-теричная система для записи в переменную ,зачем и почему? вот примеры
0
|
23.08.2019, 14:16 | |
Ответы с готовыми решениями:
39
|
Модератор
![]() 13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
|
23.08.2019, 15:09 | 2 |
![]() Решение
В 16 системе можно понять, какие биты числа равны 1, а какие нулю.
Например, 0x33 это 00110011.
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
23.08.2019, 16:46 [ТС] | 3 |
zss, а что с этими битами делается ?
0
|
Модератор
![]() 13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,713
|
|
23.08.2019, 16:51 | 4 |
В зависимости от задачи.
Возможно, каждый бит отвечает за состояние какого-то флага.
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
23.08.2019, 17:05 [ТС] | 5 |
zss, вот этот момент слегка не понятен,что значит какие биты числа? У нас есть число , в даном случае
это 51 , 51 в двоичной системе это
,но если я какой-то бит поменяю то это уже не будет 51
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
23.08.2019, 17:40 [ТС] | 7 |
Verevkin, я реально не понимаю что значит бит числа,каждое число имеет свое уникальное "отображение" как в 16-ти так и в 2 системе,у каждого разные биты "установлены"
0
|
Заблокирован
|
|
23.08.2019, 17:49 | 8 |
Отодвинь эти вопросы на задний план.
Отодвинул - молодец. Теперь слушай дядю Колю и мотай на ус. -------- Вся инфа в цифровой электронике хранится, обрабатывается и передаётся только в двоичном виде. А системы счисления - это только условные обозначения информации, для человеков. Один бит - это неделимая частица инфы, кодирующая 2 возможных состояния чего-либо. Молекула ДНК, кстати, тоже несёт двоичный код: AT и CG (аденин-тимин) и (цитозин-гуанин). Ещё вопросы есть?
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
23.08.2019, 18:02 [ТС] | 10 |
Verevkin, да я понимаю как выглядит 51 в 16-ти или 2 системе ,я это понимаю,я не понимаю зачем использовать 0x33 чтобы понять какие биты установлены если сразу можно использовать 51,просто для удобства?
Добавлено через 1 минуту Verevkin, Не по теме: мне кажется Ваш юмор слишком простой и неуместный
0
|
Заблокирован
|
|
23.08.2019, 18:08 | 11 |
Конечно, для удобства. Компьютеру-то пофиг, компилятор переведёт константу в двоичный вид на этапе препроцессора. Зато программёр сразу видит, что биты 0,1, 4 и 5 установлены. А что это значит - зависит от условия задачи.
Добавлено через 1 минуту Какой ещё юмор? Я про ДНК не шутил - можешь википедию покурить, если не веришь.
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|
23.08.2019, 18:08 | 12 |
Ну вот попробуй в уме преобразовать 51 в двоичную систему счисления. Я думаю тебе это займёт кууда больше времени, чем 0x33, зная что в двоичной системе 3 это 11, а разные цифры числа в 16-ричной системе отделяет по 4 разряда в двоичной (т.к. 16 = 2^4)
1
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
23.08.2019, 18:12 [ТС] | 13 |
TRam_, а нельзя сразу двоичную использовать?
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
|
23.08.2019, 18:14 | 14 |
ReYalp, а ты попробуй не потеряться среди нулей и единиц. Или там запомнить нужную их последовательность, особенно, например, 32 разрядов (т.е. 32 ноликов и единиц, в сравнении с восемью в случае 16-ричного представления).
0
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
23.08.2019, 18:19 [ТС] | 16 |
Verevkin, TRam_, а вообще зачем такой подход ? чем плохи к примеру просто флаги 1,2,3...?
Добавлено через 1 минуту или в том примере эти флаги что-то значат для системы и именно такие значения должны быть использованы?
0
|
зомбяк
1584 / 1218 / 345
Регистрация: 14.05.2017
Сообщений: 3,939
|
||||||
23.08.2019, 18:23 | 17 | |||||
ReYalp, тогда уже флаги типа
Добавлено через 2 минуты Естественно значат.
0
|
875 / 461 / 91
Регистрация: 10.06.2014
Сообщений: 2,669
|
|
23.08.2019, 18:32 | 19 |
ReYalp,
Например это число может быть начальным состоянием чего либо (чего именно - зависит от задачи). И вот некая часть программы может читать/менять эти битики В зависимости от того какой бит равен 1 а какой 0, у программы может быть разное "поведение" или она вообще может просто передавать эти данные другой программе для которой эти битики что-то значат. Как выше говорили в таком формате наглядно видно какой бит чему равен (если есть понимание того как такое число выглядит в двоичной форме). Записывать сразу в двоичной это долго, а если записывать в десятичной, то представлять что там за битики стоят за этим числом уже не удобно.
1
|
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
|
|
23.08.2019, 18:39 [ТС] | 20 |
Undisputed, да это попнятно,но как по мне удобнее все таки использовать к примеру цифры от 0 до 9 или еще что-то,это было бы куда понятнее,чем то что я увидел когда начал учить.
Добавлено через 3 минуты да,возможно для больших проектов это не подходит,но в моем примере там всего от силы 10 флагов таких
0
|
23.08.2019, 18:39 | |
23.08.2019, 18:39 | |
Помогаю со студенческими работами здесь
20
Запись в бинарный файл в шестнадцатеричной системе
Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |