Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.12.2011, 00:39   #1
korvi21
 
Регистрация: 21.12.2011
Сообщений: 4
Восклицание Таже проблема с С++ в С

Дан массив целых чисел. Составить функцию unpack Char, которая принимает целую переменную типа unsigned и распаковывает из нее два символа. Про-грамма должна печатать исходные переменные в десятичном и двоичном представлении, а полученные символы в символьном, десятичном и двоичном представлении.


#include <iostream>

using namespace std;

template<typename T>
void print_bin(T val)
{
for(int i = (sizeof(T) * 8) - 1; i >= 0; i--)
cout << ((val >> i) & 1);
}

void unpack_chars(unsigned *a, size_t size)
{
for(int i = 0; i < size; i++)
{
char ch[2] = { (char)(a[i] >> 8 & 0xFF), (char)(a[i] & 0xFF)};
for(int j = 0; j < 2; j++)
{
cout << "Symbol: " << ch[j] << " Dec: ";
cout.width(3);
cout << (int)ch[j] << " Bin: ";
print_bin(ch[j]);
cout << endl;
}
}
}

int main(int argc, char **argv)
{
const int n = 6;
unsigned array[n] = { 26725, 27756, 28448,
30575, 29292, 25600 };

for(int i = 0; i < n; i++)
{
cout << "Dec: " << array[i] << " Bin: ";
print_bin(array[i]);
cout << endl;
}
cout << "Chars: " << endl;
unpack_chars(array, n);
system("pause");
return EXIT_SUCCESS;
}
korvi21 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Одна и таже прога в разный IDE Faydaen Общие вопросы C/C++ 3 23.04.2010 20:51
Проблема с рамами/Проблема с ЖД DRAGGER Компьютерное железо 6 04.01.2009 23:37