переполнение типа char или float - PullRequest
1 голос
/ 09 мая 2011

Не знаете, как определить, возможно ли переполнение. Мне дают этот пример кода:

char x;  
float f, g;  
// some values get assigned to x and f here...  
g = f + x;  

Может кто-нибудь объяснить, пожалуйста?

1 Ответ

5 голосов
/ 09 мая 2011

A float в своих максимальных пределах (двоичный показатель 127) не обладает достаточной точностью (23 бита), чтобы показать разницу максимально возможного char (127, 7 бит), поэтому переполнениеневозможно, так как сложение не даст никакого эффекта (потребуется точность 127-7 = 120).

...