1 / 1 / 0
Регистрация: 22.11.2014
Сообщений: 78
1

Объединение. Операции с битами

26.04.2015, 17:49. Показов 1714. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите программу, которая вычисляет произведение любого целого без знака числа на выражение 2 [SUP] n [/ SUP]. Программа должна предоставлять возможность вводить различные целые числа без знака, значение n и выводить произведение в десятичном виде.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2015, 17:49
Ответы с готовыми решениями:

Операции с битами в c++
Помогите начинающему. Объясните пожалуйста как работает данная функция void...

Операции с битами
Напишите программу, которая принимает с клавиатуры целое число типа int и подсчитывает в нем...

Операции с битами данных
Всем доброго дня ! Подскажите пожалуйста как произвести побитовое И ? #include <iostream>...

операции для работы с битами
Есть ли в Visual C++ операторы выполняющие операции для работы с битами(сдвиг влево, сдвиг вправо,...

3
34 / 44 / 9
Регистрация: 14.03.2015
Сообщений: 134
26.04.2015, 17:54 2
а у тебя свои наработки какие ни будь есть? или ты хочешь чтоб тут просто за тебя все сделали?
0
1 / 1 / 0
Регистрация: 22.11.2014
Сообщений: 78
26.04.2015, 17:58  [ТС] 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
#include <cstdlib>
#include <iostream>
 
#include <conio.h>
#include <cmath>
 
int main ()
{ setlocale(LC_ALL, "Russian");
union Fact {
float x,y,N,A,N1,N2;
};
union Fact dobut;
dobut.x=2;
printf("Введите ваше число=");
scanf("%f",&dobut.A);
printf("\nВведите степень=");
scanf("%f",&dobut.y);
 
dobut.N1=pow(dobut.x,dobut.y); // 2^5=32
// 32*5=160
printf("\nN=%.f",dobut.N1); 
getch();
}
0
13 / 13 / 12
Регистрация: 11.04.2015
Сообщений: 64
26.04.2015, 18:26 4
Лучший ответ Сообщение было отмечено dima1334 как решение

Решение

dima1334, для умножения числа на 2^n, нужно передвинуть биты на n позиций влево

Код
5 =     00000000 00000000 00000000 00000101
<< 1    00000000 00000000 00000000 00001010 = 10 = 5*2^1
<< 2    00000000 00000000 00000000 00010100 = 20 = 5*2^2
<< 3    00000000 00000000 00000000 00101000 = 40 = 5*2^3
<< 4    00000000 00000000 00000000 01010000 = 80 = 5*2^4
...
<< n                                             = 5*2^n
Добавлено через 22 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
int main()
{
    unsigned int  a;
    int  n;
 
    cout << "Введите число ";
    cin >> a;
 
    cout << "Введите n ";
    cin >> n;
 
    a = a << n;
 
    cout << "a * 2^n = " << a << endl;
    
    return 0;
}
1
26.04.2015, 18:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.04.2015, 18:26
Помогаю со студенческими работами здесь

Множество: добавить операции объединение, вычитание и разность
Здравствуйте, помогите разобраться с программной реализацией 3 перегруженных операций (объединение,...

Осуществить все операции над элементами множеств: пересечение, объединение, ...
Привет всем. Помогите найти ошибку в коде. Задание такое: Программа позволит осуществить все...

Реализовать базовые операции над множествами: объединение, пересечение, дополнение
Вот как звучит задание: &quot;Объект: множество символов алфавита. Реализовать базовые операции над...

Реализовать классические операции над множествами - объединение, пересечение и симметричная разность
Создать параметризованный тип данных - множество. Этот тип предназначен для хранения множества...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru