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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 39, средняя оценка - 4.74
Lovenok
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 7
#1

Двоичный код числа - C++

26.01.2010, 08:52. Просмотров 5061. Ответов 7
Метки нет (Все метки)

Вывести на экран двоичный код однобайтового числа типа char.
Теперь надо чтобы программа работала только с беззнаковыми данными. Помогите!!
Код
#include<iostream.h>                //подключение библеотеки printf и scanf
int main()                          //функция main
{
    char number;                    //число
    printf("Vvedite chislo:");
    scanf("%d",&number);            //считывание числа
    printf("Dvoichnii kod chisla:");
    int i;
    for (i = 7; i >= 0; i--)    //напечатать одно байтовое число в двоичном коде
    {
        int mask = 1 << i;          //расчёт маски
        if ( (mask & number) == 0 ) //определение бита
        {
            printf(" 0");           //напечатать 0
        }
        else printf(" 1");          //напечатать 1
    }
    return 0;                       //если программа выполнилась успешно
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2010, 08:52     Двоичный код числа
Посмотрите здесь:

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

двоичный код - C++
В общем задание такое: вводим число, присвоиваем переменной, на эту перемменную указатель, и нужно вытащить побитово значение этой...

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.01.2010, 09:04     Двоичный код числа #2
C
1
char number;
C
1
scanf("%d",&number);
C
1
int mask = 1 << i;

C
1
unsigned char number;
C
1
scanf("%d", (int *) &number);
C
1
unsigned int mask = 1 << i;
Lovenok
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 7
26.01.2010, 09:21  [ТС]     Двоичный код числа #3
Цитата Сообщение от accept Посмотреть сообщение
C
1
char number;
C
1
scanf("%d",&number);
C
1
int mask = 1 << i;

C
1
unsigned char number;
C
1
scanf("%d", (int *) &number);
C
1
unsigned int mask = 1 << i;
А можно было так написать:
Код
#include<iostream.h>                //подключение библеотеки printf и scanf
int main()                          //функция main
{
    [B]unsigned char number;    [/B]                //число
    printf("Vvedite chislo:");
    scanf("%d",&number);            //считывание числа
    printf("Dvoichnii kod chisla:");
    int i;
    for (i = 7; i >= 0; i--)    //напечатать одно байтовое число в двоичном коде
    {
        int mask = 1 << i;          //расчёт маски
        if ( (mask & number) == 0 ) //определение бита
        {
            printf(" 0");           //напечатать 0
        }
        else printf(" 1");          //напечатать 1
    }
    return 0;                       //если программа выполнилась успешно
}
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,505
26.01.2010, 10:39     Двоичный код числа #4
А можно и вот так:
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
    
int main(void){
    unsigned char c;
    int i;
    printf("Number: ");
    scanf("%u", &c);
    for (i = 7; i >= 0; --i )
        printf("%d", ( c & 1 << i ) ? 1 : 0);
    printf("\n");
    return 0;
}
zim22
depict1
276 / 141 / 2
Регистрация: 11.07.2009
Сообщений: 606
26.01.2010, 10:48     Двоичный код числа #5
C++ way
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "stdafx.h"
#include <bitset>
#include <sstream>
#include <string>
 
std::string dec2bin(char c) {
  std::bitset<sizeof(c) * 8> bs(c);
  std::stringstream ss;
  ss << bs;
  std::string result;
  ss >> result;
  return result;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
  std::string res = dec2bin('z');
  return 0;
}
Lovenok
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 7
26.01.2010, 10:52  [ТС]     Двоичный код числа #6
Цитата Сообщение от easybudda Посмотреть сообщение
А можно и вот так:
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
    
int main(void){
    unsigned char c;
    int i;
    printf("Number: ");
    scanf("%u", &c); что означает %u
    for (i = 7; i >= 0; --i )
        printf("%d", ( c & 1 << i ) ? 1 : 0); и вот это можно прокомментировать?
    printf("\n");
    return 0;
}
Я просто совсем новичок
easybudda
Эксперт CЭксперт С++
9470 / 5483 / 927
Регистрация: 25.07.2009
Сообщений: 10,505
26.01.2010, 11:10     Двоичный код числа #7
Цитата Сообщение от Lovenok Посмотреть сообщение
scanf("%u", &c); что означает %u
Десятичное число без знака (см. описание scanf())

Цитата Сообщение от Lovenok Посмотреть сообщение
printf("%d", ( c & 1 << i ) ? 1 : 0); и вот это можно прокомментировать?
Можно. Если выражение ( c & 1 << i ) истинно (не равно нулю), printf("%d", 1); если ложно, printf("%d", 0);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.01.2010, 17:19     Двоичный код числа
Еще ссылки по теме:

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

Перевод файла в двоичный код - C++
Привет всем. Возникла проблема: нужно любой файл перевести в двоичный код. Как это сделать средствами C++ или WInAPI?

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

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

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


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

Или воспользуйтесь поиском по форуму:
M128K145
Эксперт С++
8284 / 3503 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
26.01.2010, 17:19     Двоичный код числа #8
Можно собственно и без проверок
C
1
2
for(i = 7; i >= 0; --i)
    printf("%d", (number>>i)&1);
Yandex
Объявления
26.01.2010, 17:19     Двоичный код числа
Ответ Создать тему
Опции темы

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