-
Data: 2012-10-29 12:01:15
Temat: Re: Dlaczego software to F35 jest pisany w C++ a nie w Ada
Od: Baranosiu <r...@w...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- Xiaomi [Chiny - przyp. JMJ] produkuje w całkowitych ciemnościach i bez ludzi
- Prezydent SZAP/USONA Trump ułaskawił prezydenta Hondurasu Hernandeza skazanego na 45 lat więzienia
- Rosjanie chwalą się prototypem komputera kwantowego. "Najważniejszy projekt naukowy Rosji"
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Re: Najgorszy język programowania
- NOWY: 2025-09-29 Alg., Strukt. Danych i Tech. Prog. - komentarz.pdf
- Na grupie comp.os.linux.advocacy CrudeSausage twierdzi, że Micro$lop używa SI do szyfrowania formatu dok. XML
- Błąd w Sofcie Powodem Wymiany 3 Duńskich Fregat Typu Iver Huitfeldt
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Dlaczego nowe mieszkania są coraz mniejsze? Dane GUS pokazują prawdziwy powód