Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
AvtoCrack
27 / 26 / 1
Регистрация: 16.11.2011
Сообщений: 147
#1

Стандартные действия с числами: что делает >> и & в коде - C++

08.10.2012, 14:47. Просмотров 454. Ответов 1
Метки нет (Все метки)

C++
1
2
3
4
5
unsigned char bytes[4];
    bytes[0] = ip & 0xFF;
    bytes[1] = (ip >> 8) & 0xFF;
    bytes[2] = (ip >> 16) & 0xFF;
    bytes[3] = (ip >> 24) & 0xFF;
что делает >> и & в этом коде? ip имеет тип DWORD и у меня равен 1008, как из этого числа мне получить мой IP? точнее, расскажите человеческим языком по какому здесь алгоритму берется мой айпи.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2012, 14:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Стандартные действия с числами: что делает >> и & в коде (C++):

Что делает (->) в данном коде - C++
TInfo Info; TElem *Elem = new TElem; Elem->Info.Ball = Info.Ball; Не нашел информации в сети, что делает эта...

Что делает данная строка в коде - C++
Кто может объяснить что делает данная строка в коде, вот функция в которой она используется(корманная сортировка): int...

Что делает эта строка в коде C++? - C++
Сейчас пишу только на C#, когда то писал на delphi. Нужно понять вот эту строку на С++: string szPrice =...

Что делает memset в приведенном коде - C++
void replace(char* text, char* word) { char* buffer = new char; strcpy(buffer, text); int pos = strstr(buffer, word) - buffer; ...

Объяснить, что делает операция *& и чем она отличается от простого указателя? - C++
Пожалуйста объясните что делает этот оператор...чем он отличается от простого указателя?

Объясните что именно делает функция даном коде - C++
Помогите пожалуйста. Я не могу понять что делает функция которая стоит вначале моего кода, точнее я немогу понять почему там k<=N/2. Ниже...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
08.10.2012, 14:54 #2
AvtoCrack, просто разбивается число на байты с помощью битовых масок и битовых операций. По сути, число "разрезается" на группы по 8 битов, которые, если их просто склеить (записать одна за другой), дадут 32 бита - ваше число. Сейчас мне надо бежать домой, если до этого никто не отпишется - напишу подробнее. На основе данной мной информации вы и сами тоже можете попробовать разобраться, достаточно почитать про битовые операции (сдвиг и побитовое И в данном случае). Также учтите, что маска 0xFF == 00000000000000000000000011111111 (в битовом представлении, расширенная до 32 бит - размера типа вашей ip).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.10.2012, 14:54
Привет! Вот еще темы с ответами:

С++ напишите, что делает каждая строчка в этом коде?! - C++
#include "stdafx.h" #include <iostream> using namespace std; int sum (int a, int m) { int s=0; for (int i=0; i<a;...

С++ напишите, что делает каждая строчка в этом коде?! - C++
1. Постановка задачи. Написать перегруженные функции и основную программу, которая их вызывает: а) для вычитания целых...

Объясните что именно делает "x%d, y%d: " или что это в даном коде - C++
#include <iostream> #include <cmath> using namespace std; double rast(double x1, double y1, double x2, double y2) // Функція яка...

Что делает функция compare в коде и зачем она нужна в qsort - C++
Объясните, пожалуйста, что делает функция compare (17 строка) в данном случае и зачем она нужна в qsort? #include <stdio.h> ...


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

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

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