-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.task.gda.pl!not-for-mail
From: Baranosiu <r...@w...pl>
Newsgroups: pl.comp.programming
Subject: Re: Dlaczego software to F35 jest pisany w C++ a nie w Ada
Date: Mon, 29 Oct 2012 11:01:15 +0000 (UTC)
Organization: CI TASK http://www.task.gda.pl/
Lines: 46
Message-ID: <k6lnlo$9eu$1@news.task.gda.pl>
References: <3...@g...com>
<3...@g...com>
<k3idkc$ne3$1@node2.news.atman.pl>
<9...@g...com>
<k3spfr$46s$1@node2.news.atman.pl>
<8...@g...com>
<e...@g...com>
<1...@g...com>
<k695i4$gg0$1@news.task.gda.pl>
<8...@g...com>
<k6boug$3gr$1@news.task.gda.pl>
<2...@g...com>
<k6gsh9$8qr$1@news.task.gda.pl>
<b...@g...com>
Reply-To: Baranosiu <r...@w...pl>
NNTP-Posting-Host: user-46-112-51-197.play-internet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: news.task.gda.pl 1351508475 9694 46.112.51.197 (29 Oct 2012 11:01:15 GMT)
X-Complaints-To: a...@n...task.gda.pl
NNTP-Posting-Date: Mon, 29 Oct 2012 11:01:15 +0000 (UTC)
User-Agent: slrn/pre1.0.0-18 (Linux)
Xref: news-archive.icm.edu.pl pl.comp.programming:200445
[ ukryj nagłówki ]Dnia 29.10.2012 Maciej Sobczak <s...@g...com> napisał/a:
>> Po prostu
>> był błąd w specyfikacji Ada95 (a taka obowiązywała w momencie lotu
>> Ariane 5 :D)
>
> W Ariane 5 nie było problemu z przekręceniem typu bazowego, tylko z rzutowaniem. I
nawet nie dotyczyło to typu Integer.
Ależ tam właśnie był overflow, jeden moduł (stary) pracował na
16-bitowych danych a drugi (nowy) liczył z 32-bitową dokładnością i
jak powiedzmy wyszło z obliczeń 16#20001 (przepełnienie) to do
"starego" modułu trzeba było wstawić 16#7FFF (co było w innych
miejscach zrobione na if-ach) a program wstawiał 16#20001 co stary
moduł widział jako 16#0001 (i nie miał szans wykryć, że to wynik
przepełnienia, bo programista "starego" modułu dopuścił jako parametr
wejściowy dowolną liczbę całkowitą - w momencie gdy to pisał chodziło
o dane 16-bitowe, stary moduł 16-bitowy został ponownie wykorzystany z
komputerem 32-bitowym). Dziwi mnie tylko że ktoś te dwa "if-y" opuścił
ze względu na potrzebę obniżenia obciążenia komputera mimo że we
wszystkich innych miejscach pozostały (no i nawet jeśli wyrzucono
generowanie wyjątków w czasie wykonania z tego fragmentu kodu, to
przecież na 99% kompilator w momencie kompilacji ostrzegał o
możliwości przepełnienia :D).
>> Załóżmy, że sprzętowo Integer jest powiedzmy 8-bitowy
>
> Ale nie jest.
>
>> tak wiem, według specyfikacji musi być co najmniej
>> 16-bitowy ze znakiem, ale chodzi o prostotę przykładu
>
> Czyli: "olejmy specyfikację w miejscu X, wtedy uda się podkreślić niedociągnięcie w
miejscu Y".
Ok, niech będzie dla 16-bitów (zgodnie ze specyfikacją):
type My_Type range -25600 .. 25600;
I mnożenie 2*25600 daje (w 16-bitach ze znakiem) -14336 (czyli wg
'range' dopuszczalną wartość) - zasada dokładnie ta sama.
> Krótko: masz rację.
>
Nie o to chodzi czy mam czy nie mam, nie potrafię po prostu zrozumieć
jak włączenie wyjątków w czasie wykonania mogło coś zmienić w tym
przypadku (zakładając, że kod "starego" modułu nie zostałby zmieniony)
i dlaczego to mogło uratować sprawę, ale ok, nie ciągnę dalej tematu.
Następne wpisy z tego wątku
- 29.10.12 15:56 Maciej Sobczak
Najnowsze wątki z tej grupy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
Najnowsze wątki
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- 2025-05-11 obca rejestracja budzi agresję
- 2025-05-11 Po nie udanej próbie egzekucji: Nigeryjczyk, który chciał zabić Polaka, nie odpowie za atak
- 2025-05-10 Szczecin => Key Account Manager IT <=
- 2025-05-10 Rudno => Administrator sieci IT <=
- 2025-05-10 Wrocław => Controlling systems Consultant <=
- 2025-05-10 Rudno => IT network administrator <=
- 2025-05-10 Warszawa => Customer Service with Spanish + translation <=
- 2025-05-10 Warszawa => Senior Account Manager <=
- 2025-05-10 Trójmiasto => Head of Social Media <=
- 2025-05-10 Warszawa => C Programmer <=
- 2025-05-10 Warszawa => Java Developer <=
- 2025-05-10 powąchaj instrybutor
- 2025-05-10 Prawomocny wyrok. Rowerzysta nie ma pierwszeństwa, dojeżdżając do przejazdu