|
Попробуйте еще следующее:
вчера столкнулся...
unsigned long a;
char b;
b = 0x80;
a = (unsigned long)b;
И в a окажется минус 128, то есть в хексе это будет выглядеть как
0хffffff80...
Вам не кажется, что это похоже на расширение знака?
Что-то помню в Си про это было написано...
У меня исправилось так:
a = b & 0x000000ff;
С Вашим примером почти тоже самое, если не оно самое...
E-mail: info@telesys.ru