• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

кодинг с++ или что за баг с short типом

addedie

Well-known member
04.08.2019
157
0
BIT
0
насколько мне известно тип short имеет максимальное значение 256 однако я указал 257 и всё вывелось коректно...в чем подвох?
точнее g++ ничего невывел на экран при компиле
сия комбинация показывает двойку
C++:
 cout << sizeof(short) << endl;

я так понимаю это два байта? тобишь 64битная система отличается этим планом?
вот она заветная ошибка
Код:
admix@buben:~/p$ g++ test.cpp -o test.o
test.cpp: In function ‘int main()’:
test.cpp:5:12: warning: overflow in conversion from ‘int’ to ‘short int’ changes value from ‘1000000’ to ‘16960’ [-Woverflow]
    5 |  short a = 1000000;
      |            ^~~~~~~
admix@buben:~/p$
может я спутал сразу значения 256 с 65535 и это нормальный код , ну вообщем так компилится а на один больше нетзначит все типтоп
C++:
  GNU nano 4.5                                         test.cpp                                                 
#include <iostream>
using namespace std;
int main()
{
        short   a = 65535;
        cout << a << endl;

        return 0;
}
причем так вывод -1
тю блин я перепутал чар с шортом....чар же 256
 
Последнее редактирование:

addedie

Well-known member
04.08.2019
157
0
BIT
0
подскажите плз как сделать чтобы вместо введеных символов на экране отображались звездочки...в си++ разумеется в параметре cin >>
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!