Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/47: Рейтинг темы: голосов - 47, средняя оценка - 4.83
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484

Запись констант в шестнадцатеричной системе

23.08.2019, 14:16. Показов 10723. Ответов 39
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сейчас изучаю библиотеки связанные с блютуз и вот такая интересная штука
почти везде используется 16-теричная система для записи в переменную ,зачем и почему?
вот примеры
C
1
2
3
4
5
uint8_t lap[3] = { 0x33, 0x8b, 0x9e };
-----------------------------------------------------
        ir->lap[0] = 0x33;
        ir->lap[1] = 0x8b;
        ir->lap[2] = 0x9e;
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.08.2019, 14:16
Ответы с готовыми решениями:

Вывод в шестнадцатеричной системе
Нужно написать программу, которая выводит символы от А до Z в таблице. Первый столбец - порядковый номер, второй - сам символ, третий -...

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

Cout вывод числа в двоичной и шестнадцатеричной системе счисления
Помогите пожалуйста. Как сделать чтобы выводило не... 1 = 100000000000000000000000000000001, а 1. 2 =...

39
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,245
23.08.2019, 15:09
Лучший ответ Сообщение было отмечено ReYalp как решение

Решение

В 16 системе можно понять, какие биты числа равны 1, а какие нулю.
Например, 0x33 это 00110011.
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
23.08.2019, 16:46  [ТС]
zss, а что с этими битами делается ?
0
Модератор
Эксперт С++
 Аватар для zss
13773 / 10966 / 6491
Регистрация: 18.12.2011
Сообщений: 29,245
23.08.2019, 16:51
В зависимости от задачи.
Возможно, каждый бит отвечает за состояние какого-то флага.
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
23.08.2019, 17:05  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
какие биты числа равны 1, а какие нулю.
zss, вот этот момент слегка не понятен,что значит какие биты числа? У нас есть число , в даном случае
Цитата Сообщение от zss Посмотреть сообщение
0x33
это 51 , 51 в двоичной системе это
Цитата Сообщение от zss Посмотреть сообщение
00110011
,но если я какой-то бит поменяю то это уже не будет 51
0
Злостный нарушитель
 Аватар для Verevkin
10634 / 5785 / 1277
Регистрация: 12.03.2015
Сообщений: 26,719
23.08.2019, 17:26
Цитата Сообщение от ReYalp Посмотреть сообщение
,но если я какой-то бит поменяю то это уже не будет 51
Ясен хрен, не будет.
Подрастёшь - поймёшь, для чего это нужно.

0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
23.08.2019, 17:40  [ТС]
Verevkin, я реально не понимаю что значит бит числа,каждое число имеет свое уникальное "отображение" как в 16-ти так и в 2 системе,у каждого разные биты "установлены"
0
Злостный нарушитель
 Аватар для Verevkin
10634 / 5785 / 1277
Регистрация: 12.03.2015
Сообщений: 26,719
23.08.2019, 17:49
Цитата Сообщение от ReYalp Посмотреть сообщение
я реально не понимаю что значит бит числа,каждое число имеет свое уникальное "отображение" как в 16-ти так и в 2 системе,у каждого разные биты "установлены"
Отодвинь эти вопросы на задний план.
Отодвинул - молодец. Теперь слушай дядю Колю и мотай на ус.
--------
Вся инфа в цифровой электронике хранится, обрабатывается и передаётся только в двоичном виде. А системы счисления - это только условные обозначения информации, для человеков.
Один бит - это неделимая частица инфы, кодирующая 2 возможных состояния чего-либо. Молекула ДНК, кстати, тоже несёт двоичный код: AT и CG (аденин-тимин) и (цитозин-гуанин).



Ещё вопросы есть?
0
Злостный нарушитель
 Аватар для Verevkin
10634 / 5785 / 1277
Регистрация: 12.03.2015
Сообщений: 26,719
23.08.2019, 17:55
Калькулятор есть у тебя?

0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
23.08.2019, 18:02  [ТС]
Verevkin, да я понимаю как выглядит 51 в 16-ти или 2 системе ,я это понимаю,я не понимаю зачем использовать 0x33 чтобы понять какие биты установлены если сразу можно использовать 51,просто для удобства?

Добавлено через 1 минуту
Verevkin,

Не по теме:

мне кажется Ваш юмор слишком простой и неуместный

0
Злостный нарушитель
 Аватар для Verevkin
10634 / 5785 / 1277
Регистрация: 12.03.2015
Сообщений: 26,719
23.08.2019, 18:08
Цитата Сообщение от ReYalp Посмотреть сообщение
я не понимаю зачем использовать 0x33 чтобы понять какие биты установлены если сразу можно использовать 51,просто для удобства?
Конечно, для удобства. Компьютеру-то пофиг, компилятор переведёт константу в двоичный вид на этапе препроцессора. Зато программёр сразу видит, что биты 0,1, 4 и 5 установлены. А что это значит - зависит от условия задачи.

Добавлено через 1 минуту
Цитата Сообщение от ReYalp Посмотреть сообщение
мне кажется Ваш юмор слишком простой и неуместный
Какой ещё юмор? Я про ДНК не шутил - можешь википедию покурить, если не веришь.
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
23.08.2019, 18:08
Цитата Сообщение от ReYalp Посмотреть сообщение
не понимаю зачем использовать 0x33
Ну вот попробуй в уме преобразовать 51 в двоичную систему счисления. Я думаю тебе это займёт кууда больше времени, чем 0x33, зная что в двоичной системе 3 это 11, а разные цифры числа в 16-ричной системе отделяет по 4 разряда в двоичной (т.к. 16 = 2^4)
1
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
23.08.2019, 18:12  [ТС]
TRam_, а нельзя сразу двоичную использовать?
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
23.08.2019, 18:14
ReYalp, а ты попробуй не потеряться среди нулей и единиц. Или там запомнить нужную их последовательность, особенно, например, 32 разрядов (т.е. 32 ноликов и единиц, в сравнении с восемью в случае 16-ричного представления).
0
Злостный нарушитель
 Аватар для Verevkin
10634 / 5785 / 1277
Регистрация: 12.03.2015
Сообщений: 26,719
23.08.2019, 18:14
Цитата Сообщение от ReYalp Посмотреть сообщение
а нельзя сразу двоичную использовать?
Можно. И восьмеричную - тоже. Но 16-ричная удобнее.
0
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
23.08.2019, 18:19  [ТС]
Verevkin, TRam_, а вообще зачем такой подход ? чем плохи к примеру просто флаги 1,2,3...?

Добавлено через 1 минуту
или в том примере эти флаги что-то значат для системы и именно такие значения должны быть использованы?
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
23.08.2019, 18:23
ReYalp, тогда уже флаги типа

C++
1
(1<<10) + (1<<5) + (1<<4) + (1<<2) + (1<<0)
Но это длинно и не очень удобно.

Добавлено через 2 минуты
Цитата Сообщение от ReYalp Посмотреть сообщение
эти флаги что-то значат для системы
Естественно значат.
0
Злостный нарушитель
 Аватар для Verevkin
10634 / 5785 / 1277
Регистрация: 12.03.2015
Сообщений: 26,719
23.08.2019, 18:25
Цитата Сообщение от ReYalp Посмотреть сообщение
а вообще зачем такой подход ? чем плохи к примеру просто флаги 1,2,3...?
Зависит от условий задачи.
1 байт может хранить состояния 8 флагов. И с ними удобно будет работать через битовые операторы (&, |, ^, ~).
1
901 / 478 / 93
Регистрация: 10.06.2014
Сообщений: 2,700
23.08.2019, 18:32
ReYalp,
Например это число может быть начальным состоянием чего либо (чего именно - зависит от задачи).
И вот некая часть программы может читать/менять эти битики
В зависимости от того какой бит равен 1 а какой 0, у программы может быть разное "поведение" или она вообще может просто передавать эти данные другой программе для которой эти битики что-то значат.

Как выше говорили в таком формате наглядно видно какой бит чему равен (если есть понимание того как такое число выглядит в двоичной форме). Записывать сразу в двоичной это долго, а если записывать в десятичной, то представлять что там за битики стоят за этим числом уже не удобно.
1
63 / 46 / 11
Регистрация: 27.12.2017
Сообщений: 1,484
23.08.2019, 18:39  [ТС]
Undisputed, да это попнятно,но как по мне удобнее все таки использовать к примеру цифры от 0 до 9 или еще что-то,это было бы куда понятнее,чем то что я увидел когда начал учить.

Добавлено через 3 минуты
да,возможно для больших проектов это не подходит,но в моем примере там всего от силы 10 флагов таких
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2019, 18:39
Помогаю со студенческими работами здесь

Дана строка - запись числа в двоичной системе счисления. Преобразуйте ее в строку - запись числа в шестнадцатеричной системе счисления
Дана строка, представляющая собой запись числа в двоичной системе счисления. Преобразуйте ее в строку, представляющую собой запись числа в...

Запись в бинарный файл в шестнадцатеричной системе
в в шестнадцатеричной системе static void Main(string args) { string aplha =...

Запись числа -2047 в шестнадцатеричной системе счисления
Нужно записать FFFFFFFFFFFFF801 с помощью 3 символов. Это возможно вообще?

Вывести запись в виде 4 знаков в шестнадцатеричной системе
напишите программу, используя процедуру, которая выводит на экран запись числа меньшего, чем 16^4=65536 в виде 4 знаков в шестнадцатиричной...

Заменить каждый элемент списка на его запись в шестнадцатеричной системе счисления
Помогите пожалуйста! Дан список,содержащий запись целых неотрицательных чисел в двоичной системе счисления. Заменить каждый элемент...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru