Форум программистов, компьютерный форум, киберфорум
Objective-C
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Objective-C Сохранение https://www.cyberforum.ru/ objective-c/ thread969235.html
как сделать сохранение...-что бы после остановки симмулятора-работа не сбрасывалась, а сохранялась и при новом запуске просто продолжала работу...?
Совмещение С++ файлов и файлов Objective-C Objective-C
мне нужно реализовать этот алгоритм http://recog.ru/blog/opencv/76.html в xCode. Сегментация с помощью opencv.framework. Я никогда не совмещал ранее код С++ и Objective-C. Для начала я скачал вот этот пример https://github.com/foundry/OpenCVSquaresSL . Разобрался и по подобию решил реализовать k-means алгоритм. Добавил opencv.framework (из примера), подключил компиляцию С++ кода в файле...
Objective-C Локализация sqlite файла Здравствуйте, делаю локализацию своего приложения, со строками все ок, а вот с базой данной проблема, справа в файл менеджере на файле базы данных нажала локализовать, в результате в каждой папке с языком появилась своя база. Очистку приложения перед компиляцией сделала, но приложение все равно отображает только на одном языке, на котором я с самого начала все делала. Подскажите, пожалуйста, как... https://www.cyberforum.ru/ objective-c/ thread967168.html Objective-C Парсинг данных получаемых от сервиса с авторизацией проблема в делегировании. Задача:послать запрос сервису,с логином и паролем,получить строку-токен (SessionId),которую в дальнейшем приходиться передавать в каждом запросе в качестве параметра(запросы XML,SOAP),в ответ на следующие запросы приходит ХМL со списком,надо его распарсить. Токен я получил,передал,в общем получаю ХМЛ в Data и пытаюсь скормить его парсеру,парсер тупо не... https://www.cyberforum.ru/ objective-c/ thread966994.html
Objective-C еще кое-что
как вывести текст с UITextField в UILabel но уже с массивом: "текст с UITextField" "массив"
Objective-C Как писать такую простую модель на Objective C? задача простая: есть типа супермаркет, он же Main... и есть классы касса, покупатель, продавщица, корзина и товар. Корзина из себя представляет массив, в котором содержются выбранные продукты... Нужно делать нечто такое: в мейне обявить, что в супермаркет зашел полупатель, но таким образом, что бы сообщение появилось не в самом просто мейне, а из метода, полученного из класса покупатель. Потом... https://www.cyberforum.ru/ objective-c/ thread966406.html
Objective-C Как вывести содержание массива в одной строке? https://www.cyberforum.ru/ objective-c/ thread966371.html
NSArray *endOfArray = initWithObjects:firstStrOfArray,secondStrOfArray,thirdStrOfArray, nil]; NSLog(@"итог %@", endOfArray); ну и получаем все это в столбец через запятую,а мне над что бы эти три части массива были в одну строку...помню что это легко как-то делалась,но как не помню( помогите плз
Objective-C ! перевод времени в переменную
Мудрил над простым кодом долго и привязать его нету к чему,нашел единственный вариант привязать его к времени...,но как это сделать не в курсе...подскажите как это сделать-мне надо секунды выразить как переменную, что бы в зависимости от того сколько сей час секунд не важно какой минуты или часа выполнялись дальнейшие действия...
Objective-C iOS 7 и xcode 4 Добрый день! У меня на айпаде стоит iOS 7.2, а у xcode версия 4.6. Получается, чтоб тестить приложения на этом айпаде, мне нужно обновить xcode до 5-го? Или можно как-то обойти эту проблему? https://www.cyberforum.ru/ objective-c/ thread966210.html Objective-C xcode лагает https://www.cyberforum.ru/ objective-c/ thread962917.html
всем привет у меня следующая проблема все фаелы проэкта (код картинки и звук) весят в районе 50-60 метров но вес самой папки проэкта в данный момент под 200 и день за днем потехоньку увеличивается дальше и после обнавления еще пошли страшные лаги, функции сворачиваю/разварачивает по 30-60 секунд да и в целом часто думает что за...?
Objective-C xcode 5
Всем добрый день! Кто-нибудь уже попробовал xcode 5 в работе? Прежде чем скачивать, хочется услышать мнения, чтоб не повторить ошибки с iOS 7 - поставил, разочаровался, а откат сделать уже нельзя.
Objective-C Перевод в Objective C Здраствуйте! можете мне помочь с такой проблемой, нужно перевести этот С++ код в Objective C. Сам уже третий день пытаюсь но все время проблемы с функциями внутри класса не удается мне их перевести в Objective C. Пожалуйста помогите #include <iomanip> #include <queue> #include <string> #include <math.h> #include <ctime> using namespace std; https://www.cyberforum.ru/ objective-c/ thread961784.html
0 / 0 / 0
Регистрация: 05.10.2013
Сообщений: 7
0

Расчитать маскку сети исходя из диапозона - Objective-C - Ответ 5140866

05.10.2013, 13:41. Показов 1017. Ответов 8
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день Господа!

Никак не могу понять как же считается маска сети зная ее Network & Broadcast IP's и как это можно сделать в Objective C

Я новичек в Objective C... Пока что накидал вот такое:

Objective-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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
//
//  IPCalculator.m
//  IP Network Calculator
//
//  Created by Vik Ewoods on 10/2/13.
//  Copyright (c) 2013 Vik Ewoods. All rights reserved.
//
 
#import "IPCalculator.h"
 
@implementation IPCalculator
 
// Classes Table
// Class    First Bit   Min IP      Max IP            Hosts
// A        0           1.0.0.0     126.0.0.1         2^24
// B        10          128.0.0.0   191.255.0.0       2^16
// C        110         192.0.1.0   223.255.255.0     2^8
// D        1110        224.0.0.0   239.255.255.255   Multicast
// E        11110       240.0.0.0   247.255.255.255   Reserved
 
// NOTES: CIDR -> Conver bits from 00000001 to 10000000
// NOTES: HOST -> (2^32-CIDR) - 2;
 
-(int)getCIDRprefixByMask:(NSString *)mask{
  if ([mask isEqualToString: @"255.255.255.255"]){
    cidrPrefix = 32;
  }else if ([mask isEqualToString:@"255.255.255.254"]) {
    cidrPrefix = 31;
  }else if ([mask isEqualToString:@"255.255.255.252"]){
    cidrPrefix = 30;
  }else if ([mask isEqualToString:@"255.255.255.248"]){
    cidrPrefix = 29;
  }else if ([mask isEqualToString:@"255.255.255.240"]){
    cidrPrefix = 28;
  }else if ([mask isEqualToString:@"255.255.255.224"]){
    cidrPrefix = 27;
  }else if ([mask isEqualToString:@"255.255.255.192"]){
    cidrPrefix = 26;
  }else if ([mask isEqualToString:@"255.255.255.128"]){
    cidrPrefix = 25;
  }else if ([mask isEqualToString:@"255.255.255.0"]){
    cidrPrefix = 24;
  }else if ([mask isEqualToString:@"255.255.254.0"]){
    cidrPrefix = 23;
  }else if ([mask isEqualToString:@"255.255.252.0"]){
    cidrPrefix = 22;
  }else if ([mask isEqualToString:@"255.255.248.0"]){
    cidrPrefix = 21;
  }else if ([mask isEqualToString:@"255.255.240.0"]){
    cidrPrefix = 20;
  }else if ([mask isEqualToString:@"255.255.224.0"]){
    cidrPrefix = 19;
  }else if ([mask isEqualToString:@"255.255.192.0"]){
    cidrPrefix = 18;
  }else if ([mask isEqualToString:@"255.255.128.0"]){
    cidrPrefix = 17;
  }else if ([mask isEqualToString:@"255.255.0.0"]){
    cidrPrefix = 16;
  }else if ([mask isEqualToString:@"255.254.0.0"]){
    cidrPrefix = 15;
  }else if ([mask isEqualToString:@"255.252.0.0"]){
    cidrPrefix = 14;
  }else if ([mask isEqualToString:@"255.248.0.0"]){
    cidrPrefix = 13;
  }else if ([mask isEqualToString:@"255.240.0.0"]){
    cidrPrefix = 12;
  }else if ([mask isEqualToString:@"255.224.0.0"]){
    cidrPrefix = 11;
  }else if ([mask isEqualToString:@"255.192.0.0"]){
    cidrPrefix = 10;
  }else if ([mask isEqualToString:@"255.128.0.0"]){
    cidrPrefix = 9;
  }else if ([mask isEqualToString:@"255.0.0.0"]){
    cidrPrefix = 8;
  }else if ([mask isEqualToString:@"254.0.0.0"]){
    cidrPrefix = 7;
  }else if ([mask isEqualToString:@"252.0.0.0"]){
    cidrPrefix = 6;
  }else if ([mask isEqualToString:@"248.0.0.0"]){
    cidrPrefix = 5;
  }else if ([mask isEqualToString:@"240.0.0.0"]){
    cidrPrefix = 4;
  }else if ([mask isEqualToString:@"224.0.0.0"]){
    cidrPrefix = 3;
  }else if ([mask isEqualToString:@"192.0.0.0"]){
    cidrPrefix = 2;
  }else if ([mask isEqualToString:@"128.0.0.0"]){
    cidrPrefix = 1;
  }else if ([mask isEqualToString:@"0.0.0.0"]){
    cidrPrefix = 0;
  }else{
    NSLog(@"Some errors with converting CIDR prefix");
  }
  NSLog(@"CIDR: %i", cidrPrefix);
  
    //NSLog(@"")
  return cidrPrefix;
}
 
-(int)calculateNetworkWithFullStartIP:(NSString *)full_start_ip WithFullEndIP:(NSString *)full_end_ip{
  // NOTES: Split start IP
  NSArray *splitLinesStartIP = [full_start_ip componentsSeparatedByString: @"."];
  int splitLinesStartIPA = [splitLinesStartIP[0] intValue];
  int splitLinesStartIPB = [splitLinesStartIP[1] intValue];
  int splitLinesStartIPC = [splitLinesStartIP[2] intValue];
  int splitLinesStartIPD = [splitLinesStartIP[3] intValue];
  
  // NOTES: Split end IP
  NSArray *splitLinesEndIP = [full_end_ip componentsSeparatedByString: @"."];
  int splitLinesEndIPA = [splitLinesEndIP[0] intValue];
  int splitLinesEndIPB = [splitLinesEndIP[1] intValue];
  int splitLinesEndIPC = [splitLinesEndIP[2] intValue];
  int splitLinesEndIPD = [splitLinesEndIP[3] intValue];
  
  // NOTES: Convert to decimal
  int startDecimalIp = splitLinesStartIPD + (splitLinesStartIPC * 256) + (splitLinesStartIPB * 256 * 256) + (splitLinesStartIPA * 256 * 256 * 256);
  int endDecimalIp = splitLinesEndIPD + (splitLinesEndIPC * 256) + (splitLinesEndIPB * 256 * 256) + (splitLinesEndIPA * 256 * 256 * 256);
  
  // NOTES: Log for now decimal
  //NSLog(@"Start network decimal: %i \n", startDecimalIp);
  //NSLog(@"End network decimal: %i \n", endDecimalIp);
  
  // NOTES: Log bins
  NSString *startDecimalIpBin = [self convertToBinWithDecimal:startDecimalIp];
  NSString *endDecimalIpBin = [self convertToBinWithDecimal:endDecimalIp];
  
  // NOTES: Split on octets
  NSArray *splitStartDecimalOnOctet = [startDecimalIpBin componentsSeparatedByString: @" "];
  NSString *splitStartDecimalOnOctet1 = splitStartDecimalOnOctet[0];
  NSString *splitStartDecimalOnOctet2 = splitStartDecimalOnOctet[1];
  NSString *splitStartDecimalOnOctet3 = splitStartDecimalOnOctet[2];
  NSString *splitStartDecimalOnOctet4 = splitStartDecimalOnOctet[3];
  
  NSArray *splitEndDecimalOnOctet = [endDecimalIpBin componentsSeparatedByString: @" "];
  NSString *splitEndDecimalOnOctet1 = splitEndDecimalOnOctet[0];
  NSString *splitEndDecimalOnOctet2 = splitEndDecimalOnOctet[1];
  NSString *splitEndDecimalOnOctet3 = splitEndDecimalOnOctet[2];
  NSString *splitEndDecimalOnOctet4 = splitEndDecimalOnOctet[3];
  
  if ([splitStartDecimalOnOctet3 isEqualToString:splitEndDecimalOnOctet3]) {
    NSLog(@"Last bits start: %@ \n", splitStartDecimalOnOctet3);
    NSLog(@"Last bits end: %@ \n", splitEndDecimalOnOctet3);
    NSLog(@"First 3 octet is equal");
  }else if ([splitStartDecimalOnOctet1 isEqualToString:splitEndDecimalOnOctet1] && [splitStartDecimalOnOctet2 isEqualToString:splitEndDecimalOnOctet2]){
    NSLog(@"Last bits start: %@ \n", splitStartDecimalOnOctet3);
    NSLog(@"Last bits end: %@ \n", splitEndDecimalOnOctet3);
    NSLog(@"First 2 octet is equal");
    // Reverse END of octet 2
    NSMutableString *reversedSplitEndDecimalOnOctet3 = [NSMutableString stringWithCapacity:[splitEndDecimalOnOctet3 length]];
    
    [splitEndDecimalOnOctet3 enumerateSubstringsInRange:NSMakeRange(0,[splitEndDecimalOnOctet3 length]) options:(NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences) usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {                       [reversedSplitEndDecimalOnOctet3 appendString:substring];
    }];
    
    NSMutableString *reversedSplitEndDecimalOnOctet2 = [NSMutableString stringWithCapacity:[splitEndDecimalOnOctet2 length]];
    
    [splitEndDecimalOnOctet2 enumerateSubstringsInRange:NSMakeRange(0,[splitEndDecimalOnOctet2 length]) options:(NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences) usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {                       [reversedSplitEndDecimalOnOctet2 appendString:substring];
    }];
    
    long int test = [startDecimalIpBin intValue] & [endDecimalIpBin intValue];
    long int first = [startDecimalIpBin intValue];
    long int last = [splitEndDecimalOnOctet3 intValue];
    first &= last;
    NSLog(@"Reverse last: %@", splitStartDecimalOnOctet);
    NSString* convertedTest = [NSString stringWithFormat:@"%ld", test];
    maskDecimal = [self convertToDecimalWithBin:convertedTest];
    maskToConvert = [NSString stringWithFormat:@"255.255.%li.0", maskDecimal];
    NSLog(@"Network mask: %@", maskToConvert);
    
    int CIDR = [self getCIDRprefixByMask:maskToConvert];
    [self totalHostClean:CIDR];
  }
  
  NSLog(@"Start binary: %@.%@.%@.%@", splitStartDecimalOnOctet1, splitStartDecimalOnOctet2, splitStartDecimalOnOctet3, splitStartDecimalOnOctet4);
  NSLog(@"End binary: %@.%@.%@.%@", splitEndDecimalOnOctet1, splitEndDecimalOnOctet2, splitEndDecimalOnOctet3, splitEndDecimalOnOctet4);
  
  return 0;
}
 
-(long int)totalHostClean:(int)mask{
    //long int totalHost = (2^(32-mask)) -2;
  mask = 19;
  long int totalHost = pow(2, (32-mask)) - 2;
  NSLog(@"Total %li hosts in network", totalHost);
  return totalHost;
}
 
-(id)convertToBinWithDecimal:(int)decimal{
  NSMutableString * binString = [[NSMutableString alloc] init];
  int spacing = pow(2, 3);
  int width = (sizeof(decimal)) * spacing;
  int binaryDigit = 0;
  int integer = decimal;
  while( binaryDigit < width ){
    binaryDigit++;
    [binString insertString:((integer & 1) ? @"1" : @"0" )atIndex:0];
    if( binaryDigit % spacing == 0 && binaryDigit != width ){
      [binString insertString:@" " atIndex:0];
    }
    integer = integer >> 1;
  }
  return binString;
}
 
-(long)convertToDecimalWithBin:(NSString *)bin{
  long decimal_converted = strtol([bin UTF8String], NULL, 2);
  return decimal_converted;
}
 
 
@end


Вернуться к обсуждению:
Расчитать маскку сети исходя из диапозона Objective-C
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.10.2013, 13:41
Готовые ответы и решения:

Расчитать значение поля исходя из двух других
Где ошибка? &lt;div class=&quot;ccms_form_element cfdiv_radio&quot; id=&quot;input_radio_121_container_div&quot;...

Расчитать зарплату госслужащего исходя из количества отработанных часов и почасовой ставки работника
Здравствуйте, ув. программисты. Наткнулся на задачу. Ниже условия: &quot;Необходимо расчитать...

Расчитать характеристики сети
Помогите пожалуйста решить две задачи. Я совсем не понимаю как к ним подойти. Я почитала Олифера,...

d-sub Вне диапозона 74.8/60 hz
Здравствуйте. вот купил полностью компьютер мощный. Когда установил драйвера из диска для...

8
05.10.2013, 13:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.10.2013, 13:41
Помогаю со студенческими работами здесь

Ввод диапозона чисел
Здравствуйте!задали решить задачу,мне нужно ввести диапозон чисел например от -5 до 3,далее...

Проброс диапозона портов
Стоит Windows Server 2012r2, на нем нужно пробросить диапазон портов (порядка 500 портов) в...

Проверка на числа не из диапозона
Нужно показывать или не показывать блок в зависимости от времени. Промежуток когда показывать...

D-sub 74.8 KHz / 60 hz Вне диапозона
Здравствуйте. вот купил полностью компьютер мощный. Когда установил драйвера из диска для...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru