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

Вывод десятичных чисел в двоичной системе - C++

Восстановить пароль Регистрация
 
Шерлок
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 16
11.03.2013, 18:30     Вывод десятичных чисел в двоичной системе #1
Заданы два числа <=16. Найти их сумму и с помощью битовых операций записать оба слагаемых и их сумму одно за другим в ячейку памяти размером в два байта без пропуска битов.
printf("%i",(( a & 1 << i ) ? 1 : 0)); объясните пожалуйста каким образом работает строка, и ка сделать, чтобы она выводила не 1 число в ячейку, а 3 числа.
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
// 3.15.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <locale.h>
 
int _tmain(int argc, _TCHAR* argv[])
{setlocale(LC_ALL,"rus");
    int a;int b;int rez;
do{
    printf ("Введите a (<=16): ");
    scanf ("%i",&a);
    printf ("Введите b (<=16): ");
    scanf ("%i",&b);
    if (a>16 || b>16) printf ("Ошибка\n");
}while (a>16 || b>16);
rez=a+b;
    for (int i = 15; i >= 0; --i ){
        printf("%i",(( a & 1 << i ) ? 1 : 0));
        if(i%4 == 0) printf(" ");
    }
    printf("\nCумма c++= %i \n",rez);
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 18:30     Вывод десятичных чисел в двоичной системе
Посмотрите здесь:

C++ сложение чисел в двоичной системе счисления
вывод на экран в двоичной системе без лишних нулей C++
Вывод чисел 1-256 в двоичной, восьмеричной и шестнадцатиричной системах C++
Умножение двух чисел в двоичной системе счисления C++
вывод десятичных чисел в двоичном виде C++
C++ Оформить вывод числа в двоичной системе счисления
Вычитание в двоичной системе счисления двух чисел C++
Вычитание чисел в двоичной системе счисления C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kazak
 Аватар для kazak
3029 / 2350 / 155
Регистрация: 11.03.2009
Сообщений: 5,401
11.03.2013, 20:06     Вывод десятичных чисел в двоичной системе #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
#include <stdio.h>
 
int main(int argc, char* argv[])
{
   int a, b, res;
   do
   {
      printf("Ââåäèòå a (<=16): ");
      scanf("%i", &a);
      printf("Ââåäèòå b (<=16): ");
      scanf("%i", &b);
      if (a > 16 || b > 16) printf ("ГЋГёГЁГЎГЄГ*.\n");
   }while (a > 16 || b > 16);
 
   res = a + b;
   res |= a << 11;
   res |= b << 6;
 
   printf("\nÐåçóëüòГ*ГІ \n");
   for (int i = 15; i >= 0; i--)
   {
      printf("%i", (( res & 1 << i ) ? 1 : 0));
      if(i%4 == 0)
         printf(" ");
   }
   return 0;
}
Yandex
Объявления
11.03.2013, 20:06     Вывод десятичных чисел в двоичной системе
Ответ Создать тему
Опции темы

Текущее время: 18:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru