Вопрос № 116187: Уважаемые эксперты! Задание на поразрядную обработку целых чисел.
В длинном целом числе N числе поменять байты в зеркальном порядке.
Подскажите пожалуйста, как произвести зеркальное отображение! в программе число N нужно ввести с клавиатуры, ...Вопрос № 116214: Здраствуйте! забыл как правильно передавать двух мерный массив в функцию! подскажите пожалуста!...
Вопрос № 116.187
Уважаемые эксперты! Задание на поразрядную обработку целых чисел.
В длинном целом числе N числе поменять байты в зеркальном порядке.
Подскажите пожалуйста, как произвести зеркальное отображение! в программе число N нужно ввести с клавиатуры, код по возможности на языке СИ! Заранее огромное спасибо всем!
Отправлен: 27.12.2007, 15:48
Вопрос задал: Sneider (статус: 1-ый класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 5)
Отвечает: estiGi
Здравствуйте, Sneider!
// обычный для Intel-процессоров порядок байт, т.н. little endian
unsigned long lLittle = 123456789;
// переверный порядок байт, т.н. big endian
unsigned long lBig = 0;
подробнее о порядках байт можно узнать здесь: Endianness
Ответ отправил: estiGi (статус: Студент)
Ответ отправлен: 27.12.2007, 17:00 Оценка за ответ: 5 Комментарий оценки: Спасибо! хорошая статья в Wikipedia!
а как это использовать при создании программы??
Отвечает: Mitya86
Здравствуйте, Sneider!
см. в приложении функцию, которая принимает целое число и возвращает его в зеркальном порядке.
Приложение:
Ответ отправил: Mitya86 (статус: 3-ий класс)
Ответ отправлен: 27.12.2007, 18:30 Оценка за ответ: 4 Комментарий оценки: В любом случаи спасибо за ответ!!!
Вопрос № 116.214
Здраствуйте! забыл как правильно передавать двух мерный массив в функцию! подскажите пожалуста!
Приложение:
Отправлен: 27.12.2007, 19:47
Вопрос задал: CruelHity (статус: 6-ой класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 4)
Отвечает: estiGi
Здравствуйте, CruelHity!
передавайте как int key [][3], или создавате динамический массив и передавайте как int ** key
int * encode (int key [][3],char *str)
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
printf ("%d ", key [i][j]);
}
printf ("
");
}
return NULL;
}
Ответ отправил: estiGi (статус: Студент)
Ответ отправлен: 27.12.2007, 20:14 Оценка за ответ: 5 Комментарий оценки: Ага! спасибо за объяснения
Отвечает: kool
Здравствуйте, CruelHity!
Проще так см приложение
Удачи!
Приложение:
--------- I am.
Ответ отправил: kool (статус: Специалист)
Ответ отправлен: 27.12.2007, 20:16 Оценка за ответ: 5 Комментарий оценки: Спс!