|
2 / 2 / 0
Регистрация: 09.08.2016
Сообщений: 57
|
|
Как получить двоичный код по адресу из переменной как он есть26.08.2021, 14:22. Показов 4710. Ответов 34
Метки бинарный код (Все метки)
Вопрос вот в чем. Изучал указатели.
int x = 1; //переменная int *p = &x; //указатель на нее cout << p; .//вывод шеснадцатеричного адреса в памяти переменной x cout << *p << вывод значения которое хранится по адресу переменной x, а в случае моего компилятора в 4байтах начиная с этого адреса. НО! он вывел 1, а в памяти то лежат только единицы и нолики. Значит что то преобразовало двоичную в десятичную и выдало. А как бы мне это что то отключить и напрямую взять именно единицы и нолики по адресу? Ну вот люблю я на них смотреть. по идеи это должно быть как то так 00000000 00000000 00000000 00000001 (ну раз 4 размер int). Если ли какая то функция прямого доступа к памяти по адресу?
0
|
|
| 26.08.2021, 14:22 | |
|
Ответы с готовыми решениями:
34
Как получить шестнадцатиричный (или двоичный) код файла? Как получить код страниц, если есть авторизация! Имя переменной как переменная. Как получить доступ к такой переменной? |
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 29.08.2021, 08:39 | |||
|
Если бы вы хоть немного ознакомились с архитектурой ЭВМ и микроконтроллеров, вы бы знали, что операция вывода машинного слова есть, любая арифметика с машинным словом есть. А вот чтобы получить бит, надо приложить некоторые усилия. И внутреннее устройство АЛУ тут никакого значения не имеет.
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 29.08.2021, 14:34 | |||
|
и ЦП их обрабатывает в зависимости от данной ему команды. ВСЕ. А на счет того чем оперирует ЦП я уже сказал.
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||
| 29.08.2021, 17:08 | ||
|
Даже не знаю как еще понятнее объяснить.
Что такое цифра? Это минимальная единица информации в данной системе счисления. Из последовательности цифр составляются числа. Важно то, что любая арифметическая операция работает именно с цифрами. Например, при сложении в столбик мы складываем младшие цифры числа, потом следующие и так далее. И точно так же работает машина. Она складывает сначала самые младшие машинные слова, потом следующие и так далее. Очевидно, что чем на меньшее количество цифр мы разделим исходное число, тем меньше операций придется проделать. Но вычислительные способности человека ограничены и ему неудобно работать с цифрами больше 10. У электроники ограничение значительно более слабое, и там встречаются цифры из 8, 32, 64 и другого количества бит. Соответственно даже 8-битной машине нужно в 2.5 раза меньше действий чтобы сложить два числа, чем человеку.
0
|
||
|
737 / 704 / 110
Регистрация: 29.05.2015
Сообщений: 4,350
|
|||
| 29.08.2021, 21:51 | |||
|
Добавлено через 1 минуту
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||
| 29.08.2021, 22:21 | ||
|
Прикладные программы переводят из 4294967296-ричной в десятичную, шестнадцатеричную и т.д. - но только для общения с пользователем. Внутри себя он все также работает с огромными цифрами. Неужели термины "машинное слово" и "система счисления" настолько сложны для вашего понимания?
0
|
||
|
2 / 2 / 0
Регистрация: 09.08.2016
Сообщений: 57
|
|
| 30.08.2021, 08:49 [ТС] | |
|
Мама(....вот это я натворил шороху). А все казалось таким простым и логичным.
Спасибо всем кто написал. Сейчас осмыслю по возможности. Едино добавить хочу, ну ведь в памяти то это единицы и нолики, .....хотя уже и сам вычитал что программа с памятью напрямую не работает, это какая то виртуальная фигня в ОС. Так что вариант выдать полученное значение в двоичном виде наверное мое. В силе остается вопрос про работу напрямую с памятью, есть ли такие возможности у С++. То есть в обход того что контролирует и распределяет память в ОС напрямую обратиться к ОЗУ по адресу?
0
|
|
|
2164 / 1242 / 511
Регистрация: 11.10.2018
Сообщений: 6,379
|
||
| 30.08.2021, 09:05 | ||
|
Добавлено через 19 секунд Возможности такие есть, да. Добавлено через 3 минуты Писать можно все что угодно, только в выделенные программе области памяти. Иначе будет ошибка доступа(Access Violation) оформленное в виде исключения. Про чтение также, читать можно все что угодно только в этих областях памяти.
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
|||
| 30.08.2021, 10:27 | |||
|
Тут вот некоторые упорно не понимают, что единица и ноль в электрической схеме прямого отношения к вычислительной машине не имеет. Это в электрическую схему можно влезть тестером и померить где какой уровень, ЭВМ же работает как черный ящик: вот входы, вот выходы, а все что между ними вас волновать не должно (потому что зависит от реализации, коих придумано немало). Так и из памяти невозможно получить информации меньше, чем разрядность ее шины данных. Посмотрите устройство любой микросхемы памяти, например КР537РУ25. Если вам хочется потыкать биты палочкой в ручном режиме, посмотрите в сторону микроконтроллеров. Например, AVR. Там виртуальной памяти нет, и работа идет именно с той ячейкой, которая записана в коде. Плюс работать с реальными адресами там просто необходимо, поскольку по ним располагаются порты ввода-вывода - то, через что ядро взаимодействует с внешним миром. Это же я бы посоветовал и SmallEvil: самостоятельно потыкать регистры, память и инструкции камня. Убедиться, что минимальная единица информации - байт, а не бит. Реализовать сложение многобайтных чисел - то самое сложение в столбик, которое я приводил раньше.
0
|
|||
|
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
|
|||
| 30.08.2021, 16:10 | |||
|
Ваше заблуждение мне понятно, но не надо путать всех. То что нет доступа к отдельному биту памяти, регистру, ячейке HDD - это архитектурное решение, никак не отрицает того что ЭВМ и вся вычислительная техника на данный момент , работает с битами так или иначе. Ваше , логическое представления, данных регистра ЦП как некую цифру - ничем не обосновано. Но никто не запрещает вам так думать. Но учтите что всегда и езде вас не будут понимать.
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||||
| 30.08.2021, 17:47 | ||||
|
0
|
||||
|
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
|
||||||
| 31.08.2021, 09:59 | ||||||
0
|
||||||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,087
|
||
| 31.08.2021, 10:28 | ||
|
0
|
||
|
2 / 2 / 0
Регистрация: 09.08.2016
Сообщений: 57
|
|
| 20.09.2021, 11:44 [ТС] | |
че это было Пух?
0
|
|
| 20.09.2021, 11:52 | |
|
Не по теме: viewrock, то, что они не подрались - это уже хорошо :D
0
|
|
| 20.09.2021, 11:52 | |
|
Как присвоить переменной значение, взятое по определенному адресу?
Image как двоичный код
Как получить байты по заданному адресу? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|