Dwa pytania z teorii

Dwa pytania z teorii
FO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0
  1. Dlaczego jak we floacie pomnożę 1/10 * 1 000 000 to nie dostane 100 000?
  2. Stos – które wywołanie funkcji jest najszybsze?
fasadin
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4883
3
  1. poczytaj o precyzji w liczbach zmienno przecinkowych @kaczus napisal na ten temat artykul na swojej stronie
  2. ze co?
stryku
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 607
0
  1. bez jej wywoływania - inline. A tak na prawdę to nie wiadomo bo zależy to od implementacji
NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
2

1:

Kopiuj
(1/10/*tutaj masz 0*/)*1000000/*tutaj też masz 0*/ 
spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
1
  1. 1./10*1000000
  2. Jeżeli próbujesz coś optymalizować, to zostaw w spokoju konwencje wywołania i optymalizuj co trzeba.
NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0

@forqed podaj kod

NI
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Warszawa
  • Postów: 535
0
Kopiuj
float a=1/10*1000000;//0
float b=1;
b/=10;
b*=1000000;//100000 
FO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Ehh, nie pamiętam kodu, ale po operacji 1/10 * 1000000 można otrzymać liczbę zbliżoną do 100000. Jak ktoś zna odpowiedź na to pytanie, mógłby się to wiedzą podzielić...

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
4

@forqed ech liczba 0.1 jest ułamkiem okresowym w systemie o podstawie 2.
Twoje pytanie jest równoważne pytaniu: dlaczego jak zrobie 3*0.(3) to nie wyjdzie mi 1 tylko 0.99999999....
Komputer zwyczajnie nie potrafi zapisać liczby 0.1 dokładnie na skończonej liczbie bitów jaką ma na reprezentacje tej liczby, w efekcie zapisuje tyle ile może, a to będzie za mało.

spartanPAGE
  • Rejestracja: dni
  • Ostatnio: dni
0

@forqed http://4programmers.net/Forum/1222300 1
jeżeli kompletnie nie chcesz zmieniać kodu: http://4programmers.net/Forum/1222283

FO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3
0

Może odpowiem tak: nie znam się na programowaniu, ale to mój przechodni przedmiot na studiach, którego muszę znać podstawy. Mam kilka pytań na które nie potrafię sobie odpowiedź - pytam na forum o tematyce programistycznej. Oczekuję odpowiedzi prostej, bez zadawania kolejnych pytań. Wybaczcie, ale jeżeli ktoś nie zna odpowiedzi to nie jest zmuszony do jakiejkolwiek odpowiedzi. Wydaje mi się, że @Shalom odpowiedział dobrze na moje pytanie, takiej formy oczekwiałem.
Ja jestem tylko biednym studentem, który chcę przebrnąć przez ten przedmiot i nie mam czasu na analizowanie artykułów itp. Sesja...

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.