Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Kocmac
0 / 0 / 0
Регистрация: 04.06.2013
Сообщений: 2
#1

Напишите функцию printbyte(unsigned char x) - C++

04.06.2013, 23:07. Просмотров 570. Ответов 0
Метки нет (Все метки)

Напишите функцию printbyte(unsigned char x) (можно использовать из примера в материале), печатающую данный байт побитово. Реализуйте шаблон
template <typename T> print (T A)
который печатает переменную A данного типа T побитно. В шаблоне print объявите переменную p типа unsigned char * и сделайте так, чтобы она указывала на переменную A, для чего потребуется сделать явное преобразование типов:
unsigned char *p = (unsigned char *) &A;

Теперь, p[0] будет первым байтом переменной A, p[1] – следующим байтом и т.д. Значение каждого байта необходимо напечатать при помощи функции printbyte. Ну а общее количество байт в переменной A равно sizeof(A).

Напишите функцию main, которая будет для некоторого типа считывать значение переменной данного типа и выводить его на экран побайтно при помощи шаблона print. Например, print( (short) 1) должен вывести 00000001 00000000, а print( (int) 1) должен вывести 00000001 00000000 00000000 00000000.

Проведите эксперименты с различными типами данных с целью выяснения, как они хранятся в памяти. Начните с простых: unsigned char, unsigned short, unsigned int. Как записываются числа 0, 1, 2, 3? Какое наибольшее число можно записать в этих типах?


Вот дан пример
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
using namespace std;
 
void print_by_bit(unsigned char b)
{
     for(int i=0; i<8; i++)
     {
         if (b & 0x80) cout << 1;
         else cout << 0;
         b = b << 1;
     }
     cout << endl;
}
 
int main ()
{
    unsigned char a;
    a=5; // 00000101
    cout << (int)a << endl;
    print_by_bit(a);
    
    system("pause");
    return 0;
}
заранее Спасибо за помощь!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2013, 23:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Напишите функцию printbyte(unsigned char x) (C++):

Напишите функцию bool IsDigit(unsigned char c), определяющую, является ли данный символ цифрой или нет - C++
Я начинающий в С++, помогите пожалуйста с задачей: Напишите функцию bool IsDigit(unsigned char c), определяющую, является ли данный символ...

Передача в функцию unsigned char [ ] - C++
Заполняю массив unsigned char sizeBuf; for (int i = 0; i &lt; 4; i++){ sizeBuf =...

Приведение типов unsigned char[2] to unsigned char [64] - C++
Добрый день! Подскажите пожалуйста, как поступить. Есть простая функция main int main() { SHA1Context sha; uint8_t...

Напишите программу, которая будет определять размер для данных (int, char, long, double, short, unsigned, float) и выводить информацию - C++
1. Какие типы данных лучше всего использовать для хранения следующих значений: а) возраст человека в текущем году; б) вес человека в...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

Напишите функцию с аргументом типа char* - C++
Напишите функцию с аргументом типа char*. Функция должна динамически (оператором new) выделять память для массива char, размер которого...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.06.2013, 23:07
Привет! Вот еще темы с ответами:

Std::fstream почему функция write принимает параметр char* а не unsigned char* (аля byte*) ? - C++
Ну собственно сабж... std::fstream fs; fs.write((char*)..) В случае бинарного потока я допустим пишу байты функцией write, как...

Неверная конверсия из char* в unsigned char* - C++
Здравствуйте. Почему-то ловлю ошибку, гласящую о том, что не удалась конверсия из char* в *unsigned char*. Не понимаю, почему она вылазит?...

Unsigned char * в char * и наоборот - C++
Здравствуйте!помогите перевести unsigned char * в char * и наоборот без использования printf

const char и unsigned char - C++
Всем привет. Такое дело. Это даже проблемой не назовешь, но суть такая. Мне нужно записать const char в unsigned char через конструктор...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru