Demotywatory.pl

Pokaż panel
Szukaj
0:22

Patrz co się dzieje, jeśli podzielisz przez zero na maszynie liczącej z 1950 roku

www.demotywatory.pl
+
181 184
-

Komentarze ⬇⬇


Komentarze


Dodaj nowy komentarz Zamknij Dodaj obrazek
H hektarek19
+4 / 6

Powstał ekologiczny silnik.

Odpowiedz Komentuj obrazkiem
T tyygrysek
+1 / 3

Heh, jak podzielisz przez zero na komputerze kwantowym to powstanie czarna dziura ;-P

Odpowiedz Komentuj obrazkiem
S szarikm
+1 / 3

robi dokładnie to samo co zrobiłby dzisiejszy komputer - zapętliła się.
Dlatego też, program komputerowy (w też kalkulator) na początku dzielenia sprawdza, czy nie dzieli przez zero. Jeśli tak, to wyświetl "math error".

Odpowiedz Komentuj obrazkiem
avatar ZONTAR
0 / 0

@szarikm Nie do końca. Praktycznie każdy procesor z obecnego wieku (a właściwie prawie każdy procesor jaki powstał) wyłapie to na najniższym poziomie. Jeśli mówimy o architekturach wywodzących się z 8086 (czyli wszelkie x86 i x86_64 sięgające aż do 1978 roku), to procesor sprawdza to wewnętrznie i wywoła przerwanie instrukcji, po czym spróbuje wykonać instrukcję korekcyjną na podstawie kodu błędu. Jeśli takiej nie ma, to taki 8086 będzie na przemian próbował dzielić i będzie się przerywał aż zapewnimy mu instrukcję do wykonania w przypadku tego błędu. We współczesnych systemach najczęściej reakcją jest wywołanie wyjątku, który program może złapać i wywalić nam błąd w czytelny sposób, ale równie dobrze programując mikrokontroler można mu kazać przejść do innej instrukcji i zrobić coś innego.

Odpowiedz Komentuj obrazkiem
O Obiektywny1
-1 / 1

Wynik dzielenia przez 0 jest nieokreślony.

Odpowiedz Komentuj obrazkiem
avatar ZONTAR
0 / 0

W takiej podstawowej formie dzielenie polega na odejmowaniu mianownika tak długo, aż licznik jest mniejszy od mianownika. Można to zoptymalizować robiąc to krok po kroku na kolejnych rzędach wielkości, na przykład przy 110/2 najpierw sprawdzamy 1(00)>=2(00), później zostaje nam 11(0)>=2(0) i odejmujemy aż zostanie nam 1(0) i przesuwamy się do 10>=2. W efekcie udało nam się odjąć dwójkę 055 razy. Jeśli jednak dzielimy przez 0, to warunek n>=0 jest cały czas spełniony i przez to w nieskończoność odejmujemy 0 od n oczekując, że w końcu n nam się wyczerpie. Jeśli nie sprawdzimy czy mianownik jest zerem, to maszyna się zapętli, więc każdy współczesny komputer na wszelki wypadek to sprawdza.

Odpowiedz Komentuj obrazkiem