Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Задача по языку Си.

Печенька_с_вареньем Ученик (219), на голосовании 6 лет назад
Подскажите, как мне из четырех элементов массива сделать один? То есть: у меня есть след. элементы массива buf[0]=1; buf[1]=1; buf[2]=1; buf[3]=1; а мне нужно получить buf[0]=1111; Помогите, пожалуйста!
Голосование за лучший ответ
Олег Олегович Просветленный (22849) 6 лет назад
buf[0] = buf[0] *1000 + buf[1] *100 + buf[2] *10 + buf[3];
Печенька_с_вареньемУченик (219) 6 лет назад
Неверный я привела пример . Это легко . А если у меня след элементы buf[0]=0x3F; buf[1]=0x7A; buf[2]=0xB5; buf[3]=0xF1; как мне получить число 0x3F7AB5F1?
Олег Олегович Просветленный (22849) Так же buf[0] * 0x1000000 + buf[1] * 0x10000 + buf[2] * 0x100 + buf[3]
Антон ФАГ Мудрец (11323) 6 лет назад
int main(void)
{
int a[] = {0x3f, 0x7a, 0xb5, 0xf1};
int a1 = (((a[0] << 8) | a[1]) << 16) | ((a[2] << 8) | a[3]);
printf("%#x", a1);
return 0;
}
Печенька_с_вареньемУченик (219) 6 лет назад
Большое спасибо !!!
Похожие вопросы