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

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

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

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

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

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

перевод десятичного вещественного в машинный код(двоичный код) - C++
пожалуйста , подскажите пожалуйста код C++ ,для перевода вещественного числа в машиное (двоичное представление,32 бит). Без использования...

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

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

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

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

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

9
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
25.09.2013, 09:36 #2
побитовый сдвиг и побитовое &
0
Байт
Эксперт C
16136 / 10414 / 1549
Регистрация: 24.12.2010
Сообщений: 19,715
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;
0
Taftis
Pascal, Delphi, C++
179 / 128 / 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 минуты
...
0
SatanaXIII
Супер-модератор
Эксперт С++
5616 / 2651 / 246
Регистрация: 01.11.2011
Сообщений: 6,530
Завершенные тесты: 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;
}
0
Qwertiy
821 / 629 / 75
Регистрация: 20.08.2013
Сообщений: 2,523
25.09.2013, 13:10 #6
SatanaXIII, по-моему, неверно, т. к. sizeof - это число байт, а не бит.
0
SatanaXIII
25.09.2013, 13:11
  #7

Не по теме:

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

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

0
Qwertiy
821 / 629 / 75
Регистрация: 20.08.2013
Сообщений: 2,523
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;
}
0
HedgehogLu
25.09.2013, 13:44
  #9

Не по теме:

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

0
Qwertiy
821 / 629 / 75
Регистрация: 20.08.2013
Сообщений: 2,523
25.09.2013, 14:00 #10
Цитата Сообщение от HedgehogLu Посмотреть сообщение
а зачем то так сложно ?
Потому что просто уже было.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 14:00
Привет! Вот еще темы с ответами:

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

Перевод в двоичный код - C++
напишите программу, которая запрашивает у пользователя целое число и выводит его в двоичном представлении. но нужно использовать только...

Перевод числа в двоичный код - C++
Знаю вопрос детский но как перевести число в двоичный код, в 16-й и в 8-й знаю %x и %o а вот в двоичный нет.

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


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

Или воспользуйтесь поиском по форуму:
10
Yandex
Объявления
25.09.2013, 14:00
Ответ Создать тему
Опции темы

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