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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 57, средняя оценка - 4.70
Show2011
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 8
#1

Побитовое представление числа. - C++

14.12.2011, 14:37. Просмотров 7830. Ответов 5
Метки нет (Все метки)

Всем привет, подскажите пожалуйста, нужно:
Написать программу, которая принимает с клавиатуры число x, имеющее тип unsigned char и вывести значения его битов.
Как перевести это число в побитовое, и как обращаться к отдельным битам этого числа, отдельные биты можно записовать в массив, с этим проблем нету... а как перевести я не знаю, точнее я перевожу для типа int работает, а для unsigned char нет((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2011, 14:37     Побитовое представление числа.
Посмотрите здесь:

Побитовое представление числа - C++
Добрый вечер, подскажите, пожалуйста, каким образом можно сформировать число из нужных мне битов, скажем, есть 4 бита (0, 0, 0, 1), далее...

Выдать побитовое представление используя union и битовые поля. - C++
Написать функцию для вывода на экран битового представления в ЭВМ числа . Знаю вот такой способ, но он один, а надо двумя (используя...

Побитовое увеличение числа на 1 и побитовая проверка на равенство - C++
Здравствуйте,подскажите как побитово( с помощью битовых операций) увеличить число на один и как побитово проверить два числа на равенство?

Представление числа - C++
Доброго времени суток! Возникла такая проблема-задача, помогите, пожалуйста с решением. Необходимо представить десятичное число в...

Двоичное представление числа - C++
Введите целое положительное N и выведите его двоичное представление. Ниже представлен код, но он выводит число на оборот (то есть если...

Внутреннее представление числа в памяти - C++
нужно сделать реализацию числа в памятиfloat d1 = 72.9e-8;... а как??? это нужно число перевести в двоичную систему, или как???

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.12.2011, 15:17     Побитовое представление числа. #2
Цитата Сообщение от Show2011 Посмотреть сообщение
для типа int работает, а для unsigned char нет((
Покажите, как Вы делаете это для int?
Show2011
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 8
14.12.2011, 15:27  [ТС]     Побитовое представление числа. #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <conio.h>
#include <time.h>
#include <vector>
#include <iostream>
#include <math.h>
#include <bitset>
 
using namespace std;
int main() {
    unsigned char s;
 
    std::cout<<"Enter the number of s"<<endl;
    std::cin>>s;
    for (unsigned int mask = 0x1 << sizeof(int) * 8 - 1; mask; mask >>= 1)
        std::cout << (s & mask? '1' : '0');
    getch();
return 0;
}
или так пробывал, чтоб меньше бит, я по 8 хочу выводить.
C++
1
2
3
 /*
for(i=sizeof(s)*8-1; i>=0; --i) { printf("%d", (s>>i)&1); }
 */
Например ввожу 1, выводит 00110001, вместо 00000001
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
14.12.2011, 16:04     Побитовое представление числа. #4
Цитата Сообщение от Show2011 Посмотреть сообщение
Например ввожу 1, выводит 00110001, вместо 00000001
Всё дело в том, что в переменную типа char при вводе помещается символ, а не число. Код символа "1" равен 0x31, что соответствует двоичной записи 00110001. Т.е. ваша программа работает правильно, но ввод оформлен неверно.
Show2011
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 8
14.12.2011, 16:11  [ТС]     Побитовое представление числа. #5
такс, т.е. если мне по заданию нужно вывести 1,3,5 бит этого числа, то я вывожу при числе 1(00110001) биты 0 1 0, а я думал что должно быть 00000001, и сравнивал с ним результат, значит все сделал верно наверно ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.12.2011, 16:13     Побитовое представление числа.
Еще ссылки по теме:

Десятичное представление заданного числа - C++
Помогите написать код:

Получить q ичное представление числа - C++
Даны натуральные числа p и q(q&gt;=2).Получить q-ичное представление числа p в виде такой последовательности a...a целых неотрицательных чисел...

Представление числа в разном формате - C++
как можно представить числа, например 2, в формате 2.0 или 2.00, нужна для предсталения числа в виде таблицы

Представление числа в k-ой системе счисления - C++
Помогите, пожалуйста, надо написать полноценную программу перевода числа в систему счисления по основанию k. На входе программы — число для...

представление числа в виде суммы 3 и 5 - C++
Известно что любое целое положительное число, которое больше 7, можно представить суммой троек и пятерок (37=4*3 + 5*5). Произвольную...

Представление числа в 16-ричном виде - C++
Как это звучит на русском? e=C%16; d=C/16; HEX_A=array_m+HEX_A; C=d;


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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.12.2011, 16:13     Побитовое представление числа. #6
Цитата Сообщение от Show2011 Посмотреть сообщение
или так пробывал, чтоб меньше бит, я по 8 хочу выводить.
Второй вариант правильный, в котором sizeof(s) * 8.
Yandex
Объявления
14.12.2011, 16:13     Побитовое представление числа.
Ответ Создать тему
Опции темы

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