ВОПРОС · Q&A

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

1 ответов 2,1 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор вопроса
насколько мне известно тип 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
 
Последнее редактирование:
подскажите плз как сделать чтобы вместо введеных символов на экране отображались звездочки...в си++ разумеется в параметре cin >>