text: Из-за потери точности операции сравнения одного и того же числа, представленного целым и вещественным типами (например, int и float), могут давать ложные результаты (числа могут быть не равны). #include <stdio.h> int main ( void ) { int i_value = 16777217; float f_value = 16777216.0; printf( "The integer is:%d\n", i_value ); printf( "The float is: %f\n", f_value ); printf( "Their equality:%d\n", i_value == f_value ); } Приведённый код выведет следующее, если размер int — 32 бита и компилятор поддерживает стандарт IEEE 754: The integer is: 16777217 The float is: 16777216.000000 Their equality: 1 Для явного приведения типов имя типа указывается в круглых скобках перед переменной или выражением.