3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
|
|
1 | |
Сложение short чисел13.11.2016, 13:30. Показов 2813. Ответов 3
Метки нет (Все метки)
Посчитайте сумму чисел 17233 и 21413, при условии что вы работаете со знаковыми 16 битными числами, представленными дополнением до 2.
В комментариях я нашел: "сложил два short в java короче ". Но сложение происходит как и с обычным int когда я пытался сделать это через C++. Как решить это задание через c++?
0
|
13.11.2016, 13:30 | |
Ответы с готовыми решениями:
3
Почему такой вывод (sizeof(short + short) - 4) Undefined reference to Out32(short, short) short int и short Написать программу которая выводит сумму чисел от a до b. Сложение чисел выполнять в процедуре |
3 / 3 / 2
Регистрация: 03.11.2016
Сообщений: 138
|
||||||
13.11.2016, 15:46 [ТС] | 3 | |||||
А если написать код
0
|
13.11.2016, 16:51 | 4 |
Для арифметических операций над короткими типами (char, short) в языке Си существует promotion - неявное преобразование коротких типов к типу int перед построением арифметических операций.
Так, например, код C++ short a, b; cout << a + b; C++ short a, b; cout << (int)a + (int)b; Поэтому в таком случае нужно явно приводить выражение к типу 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; } Код
32768 -32768
2
|
13.11.2016, 16:51 | |
13.11.2016, 16:51 | |
Помогаю со студенческими работами здесь
4
Вычислить сумму двух длинных бинарных чисел, используя сложение чисел в двоичной системе счисления сложение чисел Сложение чисел Сложение чисел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |