Цитата(MrYuran @ May 7 2008, 15:18)

Ну и чему вы удивляетесь?
int упорядочен по 2 байта, вот и получите!
Неверно. Тут не работа с указателями и числами в памяти.
Цитата(MrYuran @ May 7 2008, 15:18)

Если уж приводить к типу, то хотя бы к такому же, то есть unsigned long long tmp =(unsigned long long)data
Снова неверно. Исходное число было знаковым, поэтому при таком преобразовании знак будет расширен в старшие байты. В вашем варианте приведение вообще не нужно - оно будет сделано автоматически.