#include <iostream>
int
main( int argc, char** argv )
{
float payloadInTons = 6550.3;
// Above, payloadInTons is given a value.
// Below, two different ways are used to type cast that same value,
// but the results do not match.
float tempVal = payloadInTons * 10.0;
unsigned int right = tempVal;
std::cout << " right = " << right << std::endl;
unsigned int rawPayloadN = payloadInTons * 10.0;
std::cout << " wrong = " << rawPayloadN << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKCgppbnQKbWFpbiggaW50IGFyZ2MsIGNoYXIqKiBhcmd2ICkKewogICAgZmxvYXQgICBwYXlsb2FkSW5Ub25zID0gNjU1MC4zOwoKCiAgICAvLyAgQWJvdmUsIHBheWxvYWRJblRvbnMgaXMgZ2l2ZW4gYSB2YWx1ZS4KICAgIC8vICBCZWxvdywgdHdvIGRpZmZlcmVudCB3YXlzIGFyZSB1c2VkIHRvIHR5cGUgY2FzdCB0aGF0IHNhbWUgdmFsdWUsCiAgICAvLyAgYnV0IHRoZSByZXN1bHRzIGRvIG5vdCBtYXRjaC4KICAgIGZsb2F0IHRlbXBWYWwgPSBwYXlsb2FkSW5Ub25zICogMTAuMDsKICAgIHVuc2lnbmVkIGludCByaWdodCA9IHRlbXBWYWw7CiAgICBzdGQ6OmNvdXQgPDwgIiAgICByaWdodCA9ICIgPDwgcmlnaHQgPDwgc3RkOjplbmRsOwoKCiAgICB1bnNpZ25lZCBpbnQgcmF3UGF5bG9hZE4gPSBwYXlsb2FkSW5Ub25zICogMTAuMDsKICAgIHN0ZDo6Y291dCA8PCAiICAgIHdyb25nID0gIiA8PCByYXdQYXlsb2FkTiA8PCBzdGQ6OmVuZGw7CgoKICAgIHJldHVybiAwOwp9