Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Pytanie do rozdziału 1. lekcja 9

Ostatnio zmodyfikowano 2015-08-25 00:59
Autor Wiadomość
vegas793
Temat założony przez niniejszego użytkownika
Pytanie do rozdziału 1. lekcja 9
» 2015-08-24 14:57:08
Moze mi ktos wytlumaczyc czym roznie sie te dwa typy danych:
float  oraz  int.  Troche jest to wytlumaczone tutaj: http://cpp0x.pl/kursy/Kurs-C++/Poziom-1/Pojecie-zmiennej-i-podstawowe-typy-danych/11
ale nie rozumiem tego z tabelki, że float ma taki zakres wartosci: 3.4E +/- 38 (7 cyfr).

I jak kompiluje swój jakis programik to, gdy wpisze bledna wartosc przy int to wypisuje mi jakies liczby np. 42321341243, natomiast jak wpisze bledna wartosc przy float to wypisuje mi tylko 0.
P-136823
pekfos
» 2015-08-24 15:06:27
gdy wpisze bledna wartosc przy int to wypisuje mi jakies liczby np. 42321341243, natomiast jak wpisze bledna wartosc przy float to wypisuje mi tylko 0.
Niezainicjalizowana zmienna.
P-136824
mateczek
» 2015-08-24 17:56:14
Typy danych różnią się wielkością oraz zapisem w pamięci. Typ float ma część miejsca przeznaczoną na mantysę, a część na wykładnik. dlatego liczba ta w pamięci komputera będzie zapisana inaczej. Jednak z punktu widzenia programisty, który nie przesyła danych między innymi maszynami to jest bez znaczenia. To są typy wbudowane w kompilator i konwersje między nimi są automatyczne.

Int ma 32bity czyli 2^32 = 4'294'967'295 tyle stanów +można zapamiętać w 32 bitach. Jak zapisuje float nie wnikałem nigdy bo mi to jeszcze nie było potrzebne. Warto znać jaki zakres można zapisać w tej zmiennej i tyle.

Jak zapomnisz o zainicjowaniu zmiennej to wyświetla Ci śmieci, czyli to co akurat ma w pamięci. Wartości niezainicjowanych zmiennych można traktować jako przypadkowe - Więc radzę inicjować!!!
P-136831
Piastlis
» 2015-08-25 00:59:43
Więc tak.Te dwa typy danych to dwie różne sprawy które sprawy które mogą ci być potrzebne gdy programujesz.Typ int i pochodne to typ wyliczeniowy. Tzw liczby naturalne 0..1..2..3.. Ich zakres w zależności od typu jest różny bo komp z natury ma ograniczone zasoby.Np typ char ma zakres od -128 do 127 ale akurat ten typ ma inne zastosowanie.Każdej cyferce przyporządkowany znak ASCII czyli jakaś literka ,cyferka lub znak semigrafiki która wyświetlana jest w konsoli.Druga sprawa to przedrostek unsigned czyli "bez znaku".Różnica jest taka że najstarszy bit w słowie ma znak minus.Czyli char ma zakres -128..127,int -2147483648..2147483647 a unsigned char 0 .. 255  ,unsigned int 0.. 4294967295. Może to wydawać się głupie ale taka reprezentacja jest bardzo łatwa do realizacji sprzętowej.Typ float i pochodne to liczba rzeczywista czyli taka jak w kalkulatorze.Jej reprezentacja jest bardziej skomplikowana.Ale nie widzę sensu pisania zmiennych z którymi nic nie zrobiłeś.Po to piszesz program by coś policzyć.   
P-136838
« 1 »
  Strona 1 z 1