Программинг Форум для тем связанных с программированием
13.10.2010, 11:15
#1
Пользователь
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
подскажите чуток
подскажите:
имеем обьявленный массив k:array [0..127] of byte;
в чем разница между k[$13] и k[13] ?
13.10.2010, 13:44
#2
Местный
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
k[13] это 13-й элемент массива
k[$13] это 19-й элемент массива
Почему так? Десятичная система счисления и 1Шестнадцатеричная система счисления
__________________
В любом из нас спит гений. И с каждым днем все крепче.
Переходим на протокол нового поколения jabber
13.10.2010, 19:52
#3
Пользователь
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
тоесть между:
PHP код:
for i := 0 to $ 13 - 1 do begin
k [$ 13 + i ] := k [$ 13 + i ] xor k [ i ];
end ;
и:
PHP код:
for i := 0 to 18 do begin
k [ 19 + i ] := k [ 19 + i ] xor k [ i ];
end ;
нет никакой разниы ?! но ведь так написали не просто так, а с какой-то целью..
Добавлено через 19 минут
неужели лишь только ради прозрачности кода ?
Последний раз редактировалось Кислый, 13.10.2010 в 19:52 .
Причина: Добавлено сообщение
13.10.2010, 21:17
#4
Местный
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
Просто при работе с типом byte удобнее (для программиста) использовать шестнадцатеричную систему счисления, но использовать или нет уже по личному выбору.
__________________
В любом из нас спит гений. И с каждым днем все крепче.
Переходим на протокол нового поколения jabber
Последний раз редактировалось J-Fobos, 13.10.2010 в 21:27 .
14.10.2010, 00:09
#5
Местный
Регистрация: 26.01.2009
Сообщений: 1,097
Сказал Спасибо: 178
Имеет 119 спасибок в 84 сообщенях
мне не удобно юзать хекс коды видимо хреновый из меня прогер
14.10.2010, 00:45
#6
Местный
Регистрация: 11.06.2010
Сообщений: 644
Сказал Спасибо: 119
Имеет 85 спасибок в 77 сообщенях
хех, а я вобще в кодировании нечего не понимаю почти) мучаю Breadfan'a чтоб научил меня немножко)
17.11.2010, 13:27
#7
Местный
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Оффтоп
Цитата:
Сообщение от
dyh9l
хех, а я вобще в кодировании нечего не понимаю почти) мучаю Breadfan'a чтоб научил меня немножко)
Да я вообще не программист...Я слесарь вообще-то
Это просто есть у меня знакомый дядя Миша...
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."
А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?
Последний раз редактировалось Breadfan, 17.11.2010 в 13:29 .
17.11.2010, 15:54
#8
Пользователь
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
это здорово! а по существу ?
Добавлено через 14 минут
так я догнал, что это отрицательное число так представлятся либо если оно превышает значение переменной
тогда вопрос к xkor , как человеку который собаку сьел на этом )), данные какого типа приходят от сервера ? Byte(char), Integer(int), Word(long) ?
Добавлено через 57 минут
и еще, первый байт приходит, как 186 (BA) или как -70 ?
Добавлено через 51 минуту
я, блин, невнимательный ((
забыл что Byte это unsined char
Последний раз редактировалось Кислый, 17.11.2010 в 15:54 .
Причина: Добавлено сообщение
17.11.2010, 17:53
#9
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
Кислый , боже что это?! Как оно должно работать?!
Короче исправь это:
Код:
void view_pkt(char buff[], int len, int from_server)
{
//var
int lines, i, i1;
char s[256];
if (from_server){strcpy(s, "Сервер");}
else {strcpy(s, "Клиент");}
sprintf(s, "%s, Length: %d (0x%.*X)\n", s, len, 2, len);
ToLog(s);
ToLog(" -- -- -- -- -- -- -- \n");
//view_pkt
lines = len / 16;
int mod = len % 16;
int il = i1 + i *16;
if (mod>0) { lines++ ;}
for (i = 0; i < lines; i++)
{
sprintf(s, "\n0x%.*X| ", 4, 16*i);
for (i1 = 0; i1 < 16; i1++)
{
if (il >= len)
{
sprintf(s, "%s ", s);
}
else sprintf(s, "%s %.*X", s, 2, buff[i1+16*i]);
sprintf(s, "%s ", s);
}
ToLog(s);
}
ToLog(" \n");
}
на это:
Код:
char * StringToHex(char * s, int len)
{
char *ahex = "0123456789ABCDEF";
char *r = new char[len*3+3];
for(int i=0; i<len; i++){
r[i*3]=ahex[(((UINT8)s[i]) >> 4) & 0xf];
r[i*3+1]=ahex[((UINT8)s[i]) & 0xf];
r[i*3+2]=' ';
}
r[len*3]='\r';
r[len*3+1]='\n';
r[len*3+2]=0;
return r;
}
void view_pkt(char buff[], int len, int from_server)
{
//var
int lines, i, i1;
char s[256];
if (from_server){strcpy(s, "Сервер");}
else {strcpy(s, "Клиент");}
sprintf(s, "%s, Length: %d (0x%.*X)\n", s, len, 2, len);
ToLog(s);
ToLog(" -- -- -- -- -- -- -- \n");
//view_pkt
lines = len / 16;
int mod = len % 16;
int il = i1 + i *16;
if (mod>0) { lines++ ;}
for (i = 0; i < lines; i++)
{
if((mod>0)&&(i+1==lines))
sprintf(s, "\n0x%.*X| %s", 4, 16*i, StringToHex(&buff[16*i],mod));
else
sprintf(s, "\n0x%.*X| %s", 4, 16*i, StringToHex(&buff[16*i],16));
ToLog(s);
}
ToLog(" \n");
}
ну или как ты сам написал
sprintf(s, "%s %.*X", s, 2, buff[i1+16*i]);
на
sprintf(s, "%s %.*X", s, 2, (unsined char)buff[i1+16*i]);
__________________
Я здесь практически не появляюсь!, Skype - ikskor
Последний раз редактировалось xkor, 17.11.2010 в 17:55 .
27.10.2010, 10:15
#10
Пользователь
Регистрация: 14.09.2010
Сообщений: 38
Сказал Спасибо: 5
Имеет 0 спасибок в 0 сообщенях
вопрос из той же оперы:
например есть функции IntToHex, IntToStr тут все понятно. но блин.. какой цели может служить самописный HexToStr ? Перевод строки в строку ? из Hex в Str ?
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 03:42 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!