Николай Коровин (30.10.2006 23:17, просмотров: 1) ответил slog2 на Толи лыжи не едут, то ли я...
Си -- это такой ассемблер высокого уровня :) И о типах там тоже заботиться нужно... Насчет "3-го бита" не понял, так что просто переписал сам код.
<c>
b_long=((unsigned long)b0<<8)|((unsigned long)b1<<16)|((unsigned long)b2<<24);
</c>
Или даже такой индейце-зависимый способ, поизящнее:
<c>
unsigned char *bi;
long b_long;
* * *
bi=(char*)&b_long;
//Теперь или
bi[1]=b0;bi[2]=b1;bi[3]=b2;
//Или
bi[2]=b0;bi[1]=b1;bi[0]=b2;
</c>
Си вообще такой, си изящный язык. Он не искусственный, как, скажем, Паскаль, он отражает физику устройства, за что и любИм. Нужно просто "думать за процессор", а не запоминать искусственные правила языковых конструкций. Тогда само как пойдет :)