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

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

Войти
Регистрация
Восстановить пароль
 
Taftis
Pascal, Delphi, C++
178 / 127 / 27
Регистрация: 01.12.2012
Сообщений: 626
#1

двоичный код - C++

25.09.2013, 09:32. Просмотров 728. Ответов 9
Метки нет (Все метки)

В общем задание такое: вводим число, присвоиваем переменной, на эту перемменную указатель, и нужно вытащить побитово значение этой переменной в двоичном коде.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 09:32     двоичный код
Посмотрите здесь:

Двоичный код - C++
Подскажите пожалуйста как возможно работать на С++ с двоичным кодом (b). И возможно ли это в вообще в С и нужно использовать только...

двоичный код - C++
есть число в десятичной системе ( напр. 25 ) нужно перевести его в двоичную систему ( 11001 ) затем переставить все 1 вперед а 0 назад...

Преобразование в двоичный код С. - C++
Задание следующее: Написать программу, которая получает случайное целое типа int,выводит егодвоичное представление на экран, выполняет...

Двоичный код символа - C++
мне нужно из символа, после считывания из файла получить его двоичный код!!! подскажите плиз как это сделать!!!

Двоичный код числа - C++
Вывести на экран двоичный код однобайтового числа типа char. Теперь надо чтобы программа работала только с беззнаковыми данными....

Двоичный код Хоффмана - C++
Помогите написать программу на С++ по заданному тексту задания(задание на фото)?

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,165
Завершенные тесты: 2
25.09.2013, 09:36     двоичный код #2
побитовый сдвиг и побитовое &
Байт
Эксперт C
15642 / 9984 / 1499
Регистрация: 24.12.2010
Сообщений: 18,754
25.09.2013, 09:47     двоичный код #3
C++
1
2
3
int x = 1234;
for(int i=sizeof(int)-1; i>=0; i--) cout<<  (x>>i)&1;
cout <<endl;
Taftis
Pascal, Delphi, C++
178 / 127 / 27
Регистрация: 01.12.2012
Сообщений: 626
25.09.2013, 12:47  [ТС]     двоичный код #4
Цитата Сообщение от Байт Посмотреть сообщение
Код C++
1
2
3
int x = 1234;
for(int i=sizeof(int)-1; i>=0; i--) cout<< *(x>>i)&1;
cout <<endl;
а можно всю программу целиком?

Добавлено через 2 часа 52 минуты
...
SatanaXIII
Супер-модератор
Эксперт С++
5593 / 2627 / 240
Регистрация: 01.11.2011
Сообщений: 6,461
Завершенные тесты: 1
25.09.2013, 12:54     двоичный код #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
int main()
{
int x;
cin >> x;
 
//int x = 1234;
for(int i=sizeof(int)-1; i>=0; i--) cout<<  (x>>i)&1;
cout <<endl;
 
return 0;
}
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
25.09.2013, 13:10     двоичный код #6
SatanaXIII, по-моему, неверно, т. к. sizeof - это число байт, а не бит.
SatanaXIII
25.09.2013, 13:11
  #7

Не по теме:

Qwertiy, это код Байт. Я не вникал.

Но я ему доверяю.

Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
25.09.2013, 13:40     двоичный код #8
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Но я ему доверяю.
Зря. Во-первых, он даже не компилируется (в том числе из-за приоритетов оперуций в cout<< (x>>i)&1;), а во-вторых, я прав и выводятся только 4 биата.

Добавлено через 18 минут
Вот так - правильно:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <cstdio>
 
template <typename number> char * tobinary(number x, char *buf)
{
    number q;
    char *p=buf;
 
    if((number)~0<0)
    {
        *(p++) = '0' + (x<0);
        q = (number)1 << ((sizeof(number)<<3) - 2);
    }
    else
        q = (number)1 << ((sizeof(number)<<3) - 1);
 
    for(; q; q>>=1)
        *(p++) = x & q ? '1' : '0';
 
    *p = 0;
 
    return buf;
}
 
#define POSVAL 7
#define NEGVAL -7
 
int main(void)
{
    char temp[128];
 
    #define TEST(type,val) do { type x=val; puts(tobinary(x, temp)); } while(0)
 
    TEST(char, POSVAL);
    TEST(unsigned char, POSVAL);
    TEST(signed char, POSVAL);
 
    TEST(unsigned short, POSVAL);
    TEST(signed short, POSVAL);
 
    TEST(unsigned, POSVAL);
    TEST(signed, POSVAL);
 
    TEST(unsigned long, POSVAL);
    TEST(signed long, POSVAL);
 
    TEST(unsigned long long, POSVAL);
    TEST(signed long long, POSVAL);
 
    TEST(char, NEGVAL);
    TEST(unsigned char, NEGVAL);
    TEST(signed char, NEGVAL);
 
    TEST(unsigned short, NEGVAL);
    TEST(signed short, NEGVAL);
 
    TEST(unsigned, NEGVAL);
    TEST(signed, NEGVAL);
 
    TEST(unsigned long, NEGVAL);
    TEST(signed long, NEGVAL);
 
    TEST(unsigned long long, NEGVAL);
    TEST(signed long long, NEGVAL);
 
    #undef TEST
 
    getchar();
 
    return 0;
}
HedgehogLu
25.09.2013, 13:44
  #9

Не по теме:

а зачем то так сложно ?

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 14:00     двоичный код
Еще ссылки по теме:

С++ записать в файл двоичный код - C++
Есть огромный файл с текстом, расширение *.txt. Как его можно переписать в двоичный код? Как вообще значение какой-то переменную можно...

Перевод double в двоичный код - C++
Здравствуйте! Пожалуйста, скажите в какую сторону смотреть, не пойму как такое реализовать. С интом все просто, нужно делить,...

Перевод чисел в двоичный код - C++
неподскажите как переводить числа в двоичный код в borland C 3.1 под dos

Преобразование Букв в двоичный код - C++
Вот надыбал такой код для сабжа #include &lt;iostream&gt; using namespace std; int main() { cout&lt;&lt; &quot;Vvod: &quot;; char s;...


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

Или воспользуйтесь поиском по форуму:
Qwertiy
818 / 626 / 75
Регистрация: 20.08.2013
Сообщений: 2,525
25.09.2013, 14:00     двоичный код #10
Цитата Сообщение от HedgehogLu Посмотреть сообщение
а зачем то так сложно ?
Потому что просто уже было.
Yandex
Объявления
25.09.2013, 14:00     двоичный код
Ответ Создать тему
Опции темы

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