A.I.M.(http://forum.ja2.su/cgi-bin/yabb/YaBB.pl)
Генерал >> Ъ и Ь >> ДеЖаВю
(Message started by: Индра на 29.05.2005 в 12:05:22)

Заголовок: ДеЖаВю
Прислано пользователем Индра на 29.05.2005 в 12:05:22
Вобсчем, есть такая конструкция в коде:

var = *(BYTE*)(buf_addr + offset);
Давала рез-ат 100.

В связи с уточнением данных она стала выглядеть как

var = *(WORD*)(buf_addr+offset);

И рез-ат стал 99!!! (Кстати, как и должно быть)

Кто нить подскажет, в чем фишка юмора? Я уже все мозги сломал :(

Заголовок: Re: ДеЖаВю
Прислано пользователем Ломолом на 29.05.2005 в 14:10:49
2Индра:
Ни фига не понимаю, но есть коды с "дополнением до единицы".
Может, спецификации BYTE и WORD, в смысле формата представления, проверить?

Кстати - писать следует Дежа Вю. Это от Deja Vu (фр.) - Уже видал (всех и вся на всём и (в) в(*)езде ;D)!

Заголовок: Re: ДеЖаВю
Прислано пользователем Индра на 29.05.2005 в 15:30:07
2Ломолом: Ууу, дотошный. В оригинале (т.е. у меня :D) там стоит unsigned char в первом и unsigned short во втором случаях...
Вобщем никакого дополнения тут нет - это просто приведение числа к определенному типу данных для соблюдания длины и разыменовывание указателя

ЗЫ Кстати, BYTE и WORD - стандартные типы мелкомягких и введены не помню, то ли дефайнами, то ли тайпдефами как синонимы вышеуказанных ...

ЗЗЫ А про Дежа Вю я просто не уверен был, а посмотреть энциклоблю - лень... :D



A.I.M. » Powered by YaBB Modification 4 (v.4.0.0-pre)!
YaBB © 2000-2003. All Rights Reserved.