Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
5 / 4 / 3
Регистрация: 18.08.2019
Сообщений: 98
1

Что означает & в моём случае

18.08.2019, 04:56. Показов 2576. Ответов 5
Метки нет (Все метки)

Доброго утра/дня/вечера/ночи
Учусь работать с памятью и попутно с Cheat Engine
Имеется пример:
(0x3BD3E490+0x2EF8) & 0xFFF

Вопрос: Что означает "& 0xFFF" для суммы значений HEX (0x3BD3E490+0x2EF8)?

Это указатель или что? Как это работает? Я думал что это указатель, но в Cheat Engine FFF не сработало так как нужно.

P.s Я взял это из кода, который изучаю и вот завис на этом.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.08.2019, 04:56
Ответы с готовыми решениями:

Что означает в данном случае символ "&"?
Объясните, пожалуйста, что значит символ & в данной строке: boll MyFunction(string MyVar, MyArr&...

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка?
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt;...

Что должно являться аргументом шаблона в моём случае?
Реализация универсальной объектной коллекции (шаблона, template). &quot;Написать программу «Моя...

Что означает %k в данном случае?
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; void main() { int i,j,k;...

5
2723 / 1887 / 559
Регистрация: 05.06.2014
Сообщений: 5,499
18.08.2019, 04:59 2
& между двумя числами означает побитовое И. В данном случае выкусывающее младшие 12 бит.
1
бах-бах и в продакшен!
3034 / 1638 / 573
Регистрация: 23.09.2014
Сообщений: 5,094
Записей в блоге: 4
18.08.2019, 08:01 3
Лучший ответ Сообщение было отмечено pahom6233 как решение

Решение

Цитата Сообщение от pahom6233 Посмотреть сообщение
Имеется пример:
(0x3BD3E490+0x2EF8) & 0xFFF
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <bitset>
 
///----------------------------------------------------------------------------|
/// Вывод на экран целого числа в ДВОИЧНОМ виде.
///----------------------------------------------------------------------------:
void bitout (int n, const char* comment)
{   std::cout << std::bitset<sizeof(n) * 8>(n) << comment<< std::endl;
}
 
///----------------------------------------------------------------------------|
/// Вывод на экран строки текста.
///----------------------------------------------------------------------------:
void show (const char* str)
{   std::cout << str << "\n";
}
 
///----------------------------------------------------------------------------|
/// Демонстрация ПОБИТОВОГО УМНОЖЕНИЯ.
///----------------------------------------------------------------------------:
int main()
{   setlocale(0, "");
 
    show("Имеется пример: \n0x3BD3E490+0x2EF8) & 0xFFF\n");
    bitout(0x3BD3E490 + 0x2EF8,         "          <--- 0x3BD3E490 + 0x2EF8");
    show("&");
    bitout(0xFFF,                       "          <--- 0xFFF ");
    show("=");
    bitout((0x3BD3E490+0x2EF8) & 0xFFF, "          <--- Результат");
    
    std::cin.get();
    return 0;
}
1
5 / 4 / 3
Регистрация: 18.08.2019
Сообщений: 98
19.08.2019, 19:09  [ТС] 4
А какой результат будет в HEX ?
0
359 / 226 / 120
Регистрация: 25.06.2019
Сообщений: 830
19.08.2019, 19:14 5
(0x490+0xEF8) & 0xFFF = 0x388 = 904
0
бах-бах и в продакшен!
3034 / 1638 / 573
Регистрация: 23.09.2014
Сообщений: 5,094
Записей в блоге: 4
19.08.2019, 20:05 6
Лучший ответ Сообщение было отмечено pahom6233 как решение

Решение

Цитата Сообщение от pahom6233 Посмотреть сообщение
А какой результат будет в HEX ?
теперь с результатом в hex:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <bitset>
#include <iomanip>
 
///----------------------------------------------------------------------------|
/// Вывод на экран целого числа в ДВОИЧНОМ виде.
///----------------------------------------------------------------------------:
void bitout (int n, const char* comment)
{   std::cout.setf(std::ios::uppercase);
    std::cout << std::bitset<sizeof(n) * 8>(n) << " : " << std::setw(8)
              << std::hex << n
              << comment<< std::endl;
}
 
///----------------------------------------------------------------------------|
/// Вывод на экран строки текста.
///----------------------------------------------------------------------------:
void show (const char* str)
{   std::cout << str << "\n";
}
 
///----------------------------------------------------------------------------|
/// Демонстрация ПОБИТОВОГО УМНОЖЕНИЯ.
///----------------------------------------------------------------------------:
int main()
{   setlocale(0, "");
 
    show("Имеется пример: \n0x3BD3E490+0x2EF8) & 0xFFF\n");
    bitout(0x3BD3E490 + 0x2EF8,         "    <--- 0x3BD3E490 + 0x2EF8");
    show("&");
    bitout(0xFFF,                       "    <--- 0xFFF ");
    show("=");
    bitout((0x3BD3E490+0x2EF8) & 0xFFF, "    <--- Результат");
    
    std::cin.get();
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.08.2019, 20:05

Что в данном случае означает friend?
Всем доброй ночи! Помню, кода-то очень давно мельком видел, что кто-то уже спрашивал аналогичный...

Что означает && и || в C++?
И как это применяется

Что лучше купить в моем случае: БП или видеоадаптер?
привет форумчане! Я хотел спросить у вас, что лучше купить БП или видеоадаптер? БП без винта...

Что означает && в программе ЧПУ?
Здравствуйте. В программе ЧПУ станка имеются подобные строчки IFGOTO 98 Подскажите...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.