Witam,
zwracam się z pytaniem w kwestii typów Double i i32 ,mianowicie chodzi mu o to czy np. jeżeli połączę typ double który mam z pomiarów z typem i32 (lub odwrotnie ,albo przy dodawaniu np z dwóch wartości wpisywanych ręcznie) to mogę mieć błędne wyniki, czy to nie ma znaczenia?
typ Double i I32
typ Double i I32
Jeżeli to zrobisz, w miejscu połączenia pojawi się mała czerwona kropka - coercion dot, oznaczająca niejawną konwersję na ten typ, który jest dokładniejszy (albo zajmuje więcej miejsca w pamięci). Tak się dzieje, kiedy bloczek potrzebuje dwóch takich samych typów danych, a podpina się różne (np. dodawanie). A kiedy bloczek wymaga jakiegoś konkretnego typu danych, np. U32, to każdy inny typ numeryczny sam konwertuje się na niego, też przez coercion dot.
Błędów raczej nie powinno być z tego żadnych, zwłaszcza przy zwykłym dodawaniu - bo konwertowany będzie I32 na DBL, który jest dokładniejszy.
Jedna uwaga: te niejawne konwersje wymagają dodatkowego bufora pamięci, przy jednej liczbie żadna strata, ale gdyby to była tablica 50 mln liczb, to może zająć to sporo pamięci. Więc zaleca się raczej konwersje jawne, jak już trzeba.
Błędów raczej nie powinno być z tego żadnych, zwłaszcza przy zwykłym dodawaniu - bo konwertowany będzie I32 na DBL, który jest dokładniejszy.
Jedna uwaga: te niejawne konwersje wymagają dodatkowego bufora pamięci, przy jednej liczbie żadna strata, ale gdyby to była tablica 50 mln liczb, to może zająć to sporo pamięci. Więc zaleca się raczej konwersje jawne, jak już trzeba.
Re: typ Double i I32
chodzi mi o operacje typu dodawanie/mnożenie a dane są wyświetlane na bieżąco a nie zapisywanie do tablicy,więc jak dobrze zrozumiałem nie ma to znaczenia ,także dzięki