Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 0
na zajeciach to pokazywal profesorek, zadeklarowal jakiegoś x ktory ma to 1.23456e25 i do tego w dzialaniu nizej chcial dodac 1 i wypisac cout'em i taka sama liczba wyszla i kazal sie zastanowił czemu tak sie dzieje @wytrzzeszcz: @kebab-case:
via Wykop Mobilny (Android)
  • 0
@kebab-case: no ja nie mialem jak bo to on na projektorzs pokazywal więc nie moglem napisac zeby cala liczbe pokazalo :/ pokazal i powiedział że czemu sie nie zmieniła..
@xDOlejxD: profesorek dodał 1 do liczby 10^25 (w #!$%@? duża liczba), a wyświetla tylko pierwsze pięć cyfr.
Jakbyś miał 1.23e3 (1.23 * 10^3 = 1230), to po dodaniu 1 otrzymasz 1.231e3 - co da się zauważyć. Natomiast w Twoim przykładzie liczba jest w #!$%@? razy większa
do jakiejs liczby do potegi "e"

@xDOlejxD: e25 oznacza przesuniecie przecinka o 25 zer (10^25), to zapis skrotowy, tak jakbys zaokrąglil liczbe powiedzmy 1.234.567 do 1,23e6 czyli 1.230.000. Tam u Ciebie nie ma nic na 25 miejscu po przecinku, w zapisie dziesietnym wyglada tak: 12,345,600,000,000,000,000,000,000. Jak dodasz do tego jeden, wychodzi 12,345,600,000,000,000,000,000,001, w twoim skróconym zapisie z notacją e pozostaje to zagubione w zaokrągleniu. To nie zalezy od c++, tylko po