Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/103: Рейтинг темы: голосов - 103, средняя оценка - 4.52
 Аватар для M@k7
7 / 7 / 1
Регистрация: 17.10.2011
Сообщений: 165

Как сложить два числа на битовом уровне?

24.10.2011, 00:14. Показов 23539. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите срочно надо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.10.2011, 00:14
Ответы с готовыми решениями:

Как увеличить число на битовом уровне?
1. Увеличить счетчик на 1. Значения: 31; 56; -25; 2. Операция сравнения >. Значения: 44 и 44; 46 и -7; 15 и 30; Помогите решить...

Как сложить два числа
как сложить два числа в с++

Как сложить побитно два числа в двоичной с/с
Добрый день форумчане! У меня программа по переводу из 10 с/с в 2 с/с. Она сделана используя битовые поля. (см. код ниже) Вопрос, а...

32
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
24.10.2011, 12:22
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от greeezz Посмотреть сообщение
11100101 + 1101110 = 101010011 = 339
Это обычное арифметическое сложение двоичных чисел, а не побитовое сложение, о котором говорил я.
0
278 / 174 / 21
Регистрация: 10.07.2011
Сообщений: 441
24.10.2011, 17:38
Цитата Сообщение от silent_1991 Посмотреть сообщение
Это обычное арифметическое сложение двоичных чисел, а не побитовое сложение, о котором говорил я.
Соверешенно верно. Просто логическое или | (побитове сложение) не подходит для сумирования двух числ. Я и привел пример арифмитического сложения потому что подозреваю что автор темы пока еще не изучил разницу между ними.
0
Эксперт С++
5058 / 3118 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
24.10.2011, 20:16
Цитата Сообщение от greeezz Посмотреть сообщение
не подходит для сумирования двух числ
Точно))

Цитата Сообщение от greeezz Посмотреть сообщение
автор темы пока еще не изучил разницу между ними
Ещё точнее.

Не по теме:

А вообще, если бы ТС хоть что-то попробовал сделать сам, то ни я, ни Jupiter не грузили бы его побитовым ИЛИ.

0
55 / 39 / 18
Регистрация: 21.05.2015
Сообщений: 184
15.10.2017, 16:54
Добавлено через 16 секунд
Объясните пожалуйста построчно данную функцию
C++
1
2
3
4
5
6
7
8
9
10
int str2int(char* str)
{
  int rezult=0;
  while(*str)
{
      rezult=rezult*2+(*str++-'0');
  }
  //cout << rezult << endl;
  return rezult;
}
0
3 / 3 / 1
Регистрация: 01.01.2015
Сообщений: 130
15.10.2017, 16:58
Всё же очевидно... Думаю, стоило бы разобраться с основными стопами C++.
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
15.10.2017, 17:34
Цитата Сообщение от Programist_NKPC Посмотреть сообщение
*str++
Неочевидно и, полагаю, неверно. Скобки нужны.
Хотя нет, вроде верно. Но скобки все равно лишними не будут.
0
3 / 3 / 1
Регистрация: 01.01.2015
Сообщений: 130
15.10.2017, 17:38
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Неочевидно и, полагаю, неверно. Скобки нужны.
Хотя нет, вроде верно. Но скобки все равно лишними не будут.
А так?
C++ (Qt)
1
2
3
4
5
6
int str2int(char* str) {
  int rezult=0;
  while(*str)
      rezult=(rezult<<1)+(*str++-'0');
  return rezult;
}
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
15.10.2017, 17:47
я имел в виду *(str++), явно задать приоритет сложения перед разыменованием
0
55 / 39 / 18
Регистрация: 21.05.2015
Сообщений: 184
15.10.2017, 18:14
Наиболее интересна данная строка
C++
1
rezult=rezult*2+(*str++-'0');
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
15.10.2017, 19:02
result*2 = result<<1 это сдвиг числа влево, переход к следующей младшей двоичной цифре
*str - '0' это прибавление к результату числа, из текущего символа строки str. Именно числа а не его ASCII кода
str++ это переход к следующему символу
1
55 / 39 / 18
Регистрация: 21.05.2015
Сообщений: 184
15.10.2017, 20:41
Спасибо, а как это можно кратко сформулировать в одно предложение, объясняющее задачу, что выполняет данная строка
0
3 / 3 / 1
Регистрация: 01.01.2015
Сообщений: 130
15.10.2017, 20:48
Побитовый сдвиг, я так полагаю
0
 Аватар для COKPOWEHEU
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,101
16.10.2017, 10:56
Цитата Сообщение от ZRZ_CFB Посмотреть сообщение
Побитовый сдвиг, я так полагаю
Побитовый сдвиг это только первая операция в строке. А вся строка - добавление младшего двоичного разряда к числу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2017, 10:56

Как сложить два случайных числа из массива?
Как сложить два случайных числа из массива с++

Как правильно сложить два больших (64 бита) числа?
Допустим есть два двоичных числа A и B. Размер каждого из них = 64 бита. Вопрос такой: 1) 64 бита = 64\8 = 8 цифр, так? 2) Как их...

Сложить два длинных числа
Есть класс Decimal который наследует виртуальную функцию сложения массивов от базового класса. В классе есть массив типа unsigned char....

Сложить два больших числа
Сообственно сабж.Идея понятна.Тк такого типа который может вместить все разряды не существует,я сделала такой алгоритм.Каждая цифра числа...

Сложить два числа в одно
Здравствуйте, есть два числа в каждом может бить цифра от 1 до 20, пример 5 17 Возможно ли эти числа записать одним который будет от -20...


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

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru