Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 39

Написать функцию, которая реализует сложение двух чисел типа unsignedchar

08.06.2020, 00:59. Показов 1129. Ответов 3

Студворк — интернет-сервис помощи студентам
Написать функцию, которая реализует сложение двух чисел типа unsignedchar с использованием только побитовых операций и возвращает 1 в случае переполнения
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.06.2020, 00:59
Ответы с готовыми решениями:

Написать программу на Ассемблере,которая реализует символьное сложение целых десятичных чисел со знаком , соде
Написать программу на Ассемблере,которая реализует символьное сложение целых десятичных чисел со знаком , содержащих не более 5 цифр ...

Написать функцию min с переменным числом параметров, которая находит минимальное из чисел типа int или из чисел типа double
Написать функцию min с переменным числом параметров, которая находит минимальное из чисел типа int или из чисел типа double, тип параметров...

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

3
 Аватар для Annemesski
2675 / 1336 / 481
Регистрация: 08.11.2016
Сообщений: 3,696
08.06.2020, 09:42
Лучший ответ Сообщение было отмечено Qoozeek как решение

Решение

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
#include <iostream>
 
bool sum(unsigned char &byte1, unsigned char byte2)
{
    bool ret = false; // перенос в старший байт
    unsigned char half = byte1 ^ byte2; // вычисляем частичную сумму (без учета переноса)
    unsigned char trans = ~half & byte1 & byte2; // перенос возник в тех битах, где полусумма дала 0 и бит первого и бит второго слогаемого равны 1
    
    while (trans != 0) // пока возникают переносы
    {
        ret = (trans & unsigned char(128)) > 0; // определяем возник ли перенос из старшего бита
        byte1 = half ^ (trans <<= 1); // продолжаем вычислять частичную сумму сдвинув переносы на один бит влево (в сторону старших разрядов)
        trans = ~byte1 & half & trans; // пересчитываем переносы
        half = byte1; // сохраняем частичную сумму
    }
    byte1 = half; // когда переносов не осталось частичная сумма равна полной сумме
    return ret; // возвращаем перенос в старший байт.
}
 
int main()
{
    unsigned char a, b;
    unsigned a1, b1;
    std::cout << "a, b? ";
    std::cin >> a1 >> b1;
    a = a1, b = b1;
    std::cout << (int)a << " + " << (int)b;
    std::cout << " = (" << sum(a, b) << ")  " << (int)a << std::endl;
    system("pause");
    return 0;
}
1
0 / 0 / 0
Регистрация: 05.06.2020
Сообщений: 39
08.06.2020, 10:00  [ТС]
Спасибо за код, вроде как всё понятно. Но в результате почему-то всегда выводит a(что вводишь под а). Например 1 + 0 = 1
0 + 1 = 0
0
 Аватар для Annemesski
2675 / 1336 / 481
Регистрация: 08.11.2016
Сообщений: 3,696
08.06.2020, 10:11
Qoozeek, не рассказывайте сказок, вывод программы такой:
Code
1
2
a, b? 1 0
a + b = (0) 1
где в скобках указано значение флага переноса в старший байт, а следом за ним сумма.

Добавлено через 2 минуты
видимо вы правили строчку 28
C++
1
std::cout << " = (" << sum(a, b) << ")  " << (int)a << std::endl;
приведя её к виду
C++
1
std::cout << (int)a << std::endl;
из чего закономерно получили тот результат о котором говорите.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2020, 10:11
Помогаю со студенческими работами здесь

написать функцию которая реализует Исключающее ИЛИ
Напишите функцию bool Xor (bool x, bool y), реализующую функцию &quot;Исключающее ИЛИ&quot; двух логических переменных x и y. Функция Xor должна...

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

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

нужно написать функцию которая реализует эффект SlideShow
Начал делать просмотрщик изображений, и тут столкнулся с такой проблемой: нужно заделать функцию которая реализует эффект SlideShow.

Написать функцию, которая реализует Backlash, и запустить через matlabFcn
Необходимо написать функцию которая реализует Backlash и запустить через matlabFcn


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru