привидение типа int в C и C++
От: B0FEE664  
Дата: 28.01.20 18:07
Оценка:
Правила привиедение типа в C и C++ от double в int разные?

#include <stdio.h>

    int main() {
     
      double in_m = 8147483.648;
      printf("in = %f m, %f mm, %d mm\n", in_m, in_m *1000., (int)(in_m *1000));
     
        // your code goes here
        return 0;
    }


C даёт:
https://ideone.com/Uf7SyN
in = 8147483.648000 m, 8147483648.000000 mm, -1686858968 mm


C++ даёт:
https://ideone.com/YXEjaA
in = 8147483.648000 m, 8147483648.000000 mm, 2147483647 mm

Или так вообще нельзя?
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.