![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 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; } |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одна и таже прога в разный IDE | Faydaen | Общие вопросы C/C++ | 3 | 23.04.2010 20:51 |
Проблема с рамами/Проблема с ЖД | DRAGGER | Компьютерное железо | 6 | 04.01.2009 23:37 |