Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
AvtoCrack
27 / 25 / 4
Регистрация: 16.11.2011
Сообщений: 147
#1

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

08.10.2012, 14:47. Просмотров 485. Ответов 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++):

Что делает & в параметрах функции?
Мне в учебнике попался пример с функцией вычисляющей площадь и периметр...

Что делает (->) в данном коде
TInfo Info; TElem *Elem = new TElem; Elem->Info.Ball =...

Что в коде делает s.erase?
#include <bits/stdc++.h> using namespace std; int i,j; string s; stack...

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

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

Что делает данная строка в коде
Кто может объяснить что делает данная строка в коде, вот функция в которой она...

1
silent_1991
Эксперт С++
5007 / 3067 / 270
Регистрация: 11.11.2009
Сообщений: 7,043
Завершенные тесты: 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
Привет! Вот еще темы с решениями:

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

Объясните что именно делает функция даном коде
Помогите пожалуйста. Я не могу понять что делает функция которая стоит вначале...

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

С++ напишите, что делает каждая строчка в этом коде?!
#include "stdafx.h" #include <iostream> using namespace std; int sum...


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

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

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