Как на С++ узнать вышло число за пределы или нет?
Если число вышло за пределы, то оно все равно остается в диапазоне - принимает неверное значение.
Пример:
char [-128; 127]
char а = 203
При выводе на экран а = -48
потому что я не дописал ептвай мать.. . люди.. . или не люди...
Костя Napalm, я бы рад, но проверку нужно мне делать на всех диапазонах, даже на long double. Хотелось бы услышать какую-нить встроенную функцию С \ С++. Очень неохото писать модуль ассемблера на проверку флагов OF / CF
Николай Веселуха, у вас сделано так как предложил Коста Напалм, просто выбран больший тип, но это неверно. Мне надо писать проверку на все типы, даже на long double. А выше long double типа нет!!!
Костя Напалм, double имеет диапазон [1.7∙10^(–308)..1.7∙10^(+308)], если я введу a = 1.7∙10^(+308) и + 10 скажем, то в памяти а = 1.7∙10^(-308) - 9, т. е. за диапазон он не выходит!!!