Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 06.06.2020
Сообщений: 2
1

Сложение двух чисел типа unsigned char с использованием только побитовых операций

06.06.2020, 12:33. Просмотров 962. Ответов 1
Метки нет (Все метки)


− Написать код функции, принимающей в качестве аргументов и возвращающей все
необходимые параметры, без использования глобальных переменных.
− Обязательно использование только поразрядных операций для выполнения
задания, математические операции с индексами и счетчиками разрешены.

Написать функцию, которая реализует сложение двух чисел типа unsigned char с
использованием только побитовых операций и возвращает 1 в случае переполнения.

Пожалуйста помогите
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2020, 12:33
Ответы с готовыми решениями:

Перевод Unsigned char в двоичный вид с использованием побитовых операций
Вводится с клавиатуры переменная типа unsigned char, с помощью побитовых операций переводится в...

Умножение целых чисел с использованием побитовых операций
Собственно прошу помочь с кодом, (бинарное умножение чисел 12 и 4) тем кто поможет буду очень...

Установка бита с использованием побитовых операций
Есть следующая программа, которой задается само число/символ (unsigned char), переводит программа в...

Ошибка E0167 аргумент типа "unsigned char *" несовместим с параметром типа "const char *"
Всем привет, подскажите пожалуйста, в проекте MS Visual Studio 2017 напротив строчки...

1
261 / 179 / 87
Регистрация: 03.05.2020
Сообщений: 761
06.06.2020, 14:24 2
Лучший ответ Сообщение было отмечено vlad_is_10ve как решение

Решение

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
int sum(unsigned char a,unsigned char b)
{
    int n=0;
    for(int i=1; i<255; i<<=1)
    {
        if(a & i) 
            if(n & i) 
            {
                n&=~i;
                n|=(i<<1);
            }
            else n|=i;
        if(b & i) 
            if(n & i) 
            {
                n&=~i;
                n|=(i<<1);
            }
            else 
            n|=i;
    }
    return n<256?n:1;
}
void main()
{
    int x,y;
    do
    {
        cout<<"a b: ";
        cin>>x>>y;
    }while(x<0 || x>255 || y<0 || y>255);
    unsigned char a=x,b=y;
    cout<<sum(a,b)<<endl;
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.06.2020, 14:24

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Сложение двух чисел типа date
Всех приветствую, подскажите как сложить два числа типа date , пример , 2014 - 11 - 10 + 3 = 2014 -...

Сложение двух чисел(строкового типа) столбиком
Добрый вечер! Мне надо написать Функцию для сложения методом столбика двух строк. Вариантов вообще...

Сложение двух чисел в двоичной форме, с использованием функции
Задача с олимпиады по Pascal Задание: a,b -целые числа; c=a+b и все эти 3 числа занимают не...

Аргумент типа "unsigned char*" несовместим с параметром типа "const char*"
int f(unsigned char s, unsigned char q) { N = strlen(s); //Ошибка тут... M = strlen(q); //...и...

Ошибка "значение типа "const char [81]" нельзя использовать для инициализации сущности типа "const unsigned char [61]"
Прошу помощи, так как раньше прога работала, сейчас решил вернуться и выдает ошибку: #pragma once...

Сложить два массива типа unsigned char
Необходимо создать метод класса для сложения двух массивов типа unsigned char. Числа в нем хранятся...


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

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

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