Wpis z mikrobloga

Napisałem prosty program na zajęcia do liczenia miejsc zerowych funkcji. Program działa i wszystko liczy ale źle. Podejrzewam, że problem leży w nawiasach wzorów. Lokator który ma inżyniera informatyki stwierdził, że nie wie czemu tak jest... Szukałem w google i lipa. Pls help #programowanie #c #januszeprogramowania #studbaza
drzewko94 - Napisałem prosty program na zajęcia do liczenia miejsc zerowych funkcji. ...

źródło: comment_hSbKkEmoqJ3rvuM4THp9yo5qqX6DiQu2.jpg

Pobierz
  • 48
@Demon_Maxwella: dzięki królu złoty. Dziwne w sumie, że jak zrobiłem b*b to też było źle. Jeszcze takie pytanko, czym się różnią zmienne int od float? Jakbym podawał wartości a,b,c z przecinkami to muszę je zadaklarować jako float?
@drzewko94: Musisz. Float i Double to typy zmiennoprzecinkowe. Tylko takich da się używać przy obliczeniach na ułamkach. Tzn. da się używać i intów, ale trochę za dużo musiałbyś pamiętać i interpretować dane w głowie. Bo int i float (zakładając ten sam rozmiar w pamięci) wartość jest taka sama w danej komórce. Tylko kompilator inaczej to interpretuje i używa innych operacji do obliczeń.
int od float


@drzewko94:
int: 0 1 2 3 itd
float/double: 0.00000... 0.00000...1 0.00000....2 itd

float i double jednakże są zmiennoprzecinkowe, czyli ich dokładność spada im więcej cyfr muszą pamiętać. W końcu dodanie "+1" nic nie zmienia, bo jest za mały odstęp. Zwyczajnie flaot nie pamięta 56486941 a 5.6486941*10^7
Double jest dwa razy większy od floata.

W liczbach zmiennoprzeicnkowych powstają takie cyrki ze nie należy np ich porównywać do zera a
@pwn3r: wiem jaka jest różnica ale przy użyciu int podaje mi właściwe wartości a przy użyciu float dla tej samej funkcji jej miejsce zerowe wynosi: "i" oraz "12846127542125", stąd moje pytanie.

Jeszcze pytanko. Jakbym nie wywołał math.h to mogę zapisać potęgę jako b^2 a pierwiastek jako e=d^(1/2)? Jak tak robię to wyniki wychodzą ale złe.