Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138

Сложение short чисел

13.11.2016, 13:30. Показов 3288. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Посчитайте сумму чисел 17233 и 21413, при условии что вы работаете со знаковыми 16 битными числами, представленными дополнением до 2.

В комментариях я нашел: "сложил два short в java короче ". Но сложение происходит как и с обычным int когда я пытался сделать это через C++. Как решить это задание через c++?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2016, 13:30
Ответы с готовыми решениями:

Почему такой вывод (sizeof(short + short) - 4)
int _tmain(int argc, _TCHAR* argv) { short a = 3; short b = 5; cout << sizeof(a) << endl; cout << sizeof(b) << endl; ...

Undefined reference to Out32(short, short)
Всем привет.подскажите в чём может быть проблема?Сode::Blocks ос Win7x32. вроде все библиотеки inpout32 прикручены к проекту...но я так...

short int и short
Какая разница, инициализирую я переменную как short int или же как short ? Вроде и тот, и тот тип данных компилятор понимает :)

3
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
13.11.2016, 14:32
Лучший ответ Сообщение было отмечено MilkyWay888 как решение

Решение

C
short a, b, c;
a = 17233;
b = 21413;
c = a + b;
1
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
13.11.2016, 15:46  [ТС]
А если написать код
C++
1
2
3
shot a = 23567
shot b = 13456
cout >> a+b;
То результатом будет int значение?
0
Evg
Эксперт CАвтор FAQ
 Аватар для Evg
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
13.11.2016, 16:51
Для арифметических операций над короткими типами (char, short) в языке Си существует promotion - неявное преобразование коротких типов к типу int перед построением арифметических операций.

Так, например, код

C++
short a, b;
cout << a + b;
после применения promotion превращается в:

C++
short a, b;
cout << (int)a + (int)b;
Таким образом получается, что тип результата будет int, что в свою очередь вызовет перегруженный оператор << для типа int, а не для short

Поэтому в таком случае нужно явно приводить выражение к типу short, либо записать в промежуточную переменную типа short (что вызовет неявное приведение типа). Результат в обоих случаях получится таким, как если бы promtoion'а не было. Единственное (вроде бы как) место, где по языку НЕ строится promotion - это операции атоинкрементации и автодекрементации

Где promotion есть, а где его нет, можно проверить экспериментально:

C++
#include <iostream>
 
int main (void)
{
  short a, b;
 
  a = 32767;
  b = 1;
  std::cout << a + b << std::endl;
 
  a = 32767;
  std::cout << ++a << std::endl;
 
  return 0;
}
что при исполнении даст:

Code
32768
-32768
Зачем афторы Си придумали наркоманство с promotion'ом в арифметических операциях, я не знаю. Подозреваю, что из-за этого, но точной уверенности нет
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2016, 16:51
Помогаю со студенческими работами здесь

Написать программу которая выводит сумму чисел от a до b. Сложение чисел выполнять в процедуре
Где ошибка? #include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; using namespace std; int Sum (int x, int y) { int S; ...

Вычислить сумму двух длинных бинарных чисел, используя сложение чисел в двоичной системе счисления
Задано положительное и отрицательное число в двоичной системе.Составить программу вычисления суммы этих чисел, используя сложения чисел в...

сложение чисел
Доброго времени суток! вопрос вроде простой но я не могу понять объясните как сложить числа вот код программы if (x==a) { i = 4;...

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

Сложение чисел
Добрый вечер! Помогите пожалуйста новичку. Есть файл mas.txt, необходимо сложить все числа и вывести на консоль:wall: Числа записаны...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru