Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Техник228
1 / 1 / 0
Регистрация: 07.06.2016
Сообщений: 63
1

Ввести число в битовой форме: 8 бит, старшие биты слева, младшие – справа

26.10.2016, 15:24. Просмотров 835. Ответов 2
Метки нет (Все метки)

Код работает, но что-то неправильно считает. Не могу понять почему. Подскажите плз.

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
25
26
27
28
29
30
31
32
33
34
35
/*Дано число типа unsigned char, то есть от 0 до 255.
Выведите его в битовой форме: 8 бит, старшие биты слева, младшие – справа.*/
 
#include <iostream>
using namespace std;
 
void compare(unsigned char *, int *);
void main()
{
    int tmp;
    int *tmp_ptr = &tmp;
 
    cout << "Enter integer number:  \b";
    unsigned char a;
    cin >> a;
    unsigned char *a_ptr = &a;
 
    compare(&a, &tmp);
 
    system("pause");
}
 
void compare(unsigned char *a_ptr, int *tmp_ptr)
{
    for (int i = 128; i >= 1; i /= 2)
    {
        *tmp_ptr = *a_ptr & (~i);
        
        if (*tmp_ptr < *a_ptr)
            cout << "1";
        else
            cout << "0";
    }
    cout << endl;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2016, 15:24
Ответы с готовыми решениями:

Разделить старшие и младшие биты в переменной
Объясните дураку работу с битовыми операциями... Есть у меня массив, где первый элемент это 32...

... В четных байтах числа в двоичной системе переместить нулевые биты в старшие биты, а в нечетных байтах – в младшие ...
Доброго времени суток всем, столкнулся с проблемой по С++,требуется написать программу: которая...

Ввести целое число A и посчитать, сколько единиц в числе с 5 бита по 10 бит, включая эти биты
УСЛОВИЕ --- Ввести целое число A и посчитать, сколько единиц в числе с 5 бита по 10 бит, включая...

Ввести целое число A. Инвертировать все биты с 4 по 8, включая эти биты. Вывести результат
нужна помощь в битовых операциях.Ввести целое число A. Инвертировать все биты с 4 по 8, включая...

Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321). Записать 3 последние цифры в одномерный массив.
Ввести целое число. Определить, симметрично ли оно, т.е. одинаковы ли цифры слева и справа (12321)....

2
MRG_Serejka
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 187
Завершенные тесты: 2
26.10.2016, 15:46 2
Техник228, Код работает вполне корректно . Ты вводишь символьную переменную он преобразует ее в двоичный код. То есть вводишь q программа выведет 01110001 = 113 в десятичной. Смотри ASCII таблицу. станет гораздо понятнее

Добавлено через 3 минуты
Техник228, То есть прибавляешь все значения где 1 и получишь 113
0=128
1=64
1=32
1=16
0=8
0=4
0=2
1=1
0
Техник228
1 / 1 / 0
Регистрация: 07.06.2016
Сообщений: 63
26.10.2016, 15:52  [ТС] 3
MRG_Serejka, с этим понятно. вопрос в том, что в задаче сказано, что есть число типа unsigned char. как я понял не нужно вводить букву или символы.
Мне нужно наоборот, ввести, например, 113 и программа преобразует его в двоичный код. с типом int все корректно работает, а вот с char я видимо что-то не учел. поэтому и прошу помощи.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2016, 15:52

Дано трехзначное число. В нем зачеркнули первую справа цифру и приписали ее слева. Вывести полученое число
Может ктовидел похожую задачу дайте ссылку или подскажите как сделать

Младшие и старшие биты
Допустим у меня есть число в 2й сист. 11011011 ,подскажите где здесь младшие биты а где старшие

Как разбить бинарный файл на младшие и старшие биты
Сабж собственнно. Есть бинарный файл(.BIN) Весит он 1024 байта. Его каким-то образом...


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

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

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