[C++] Nagłówki, typy danych, standardy

Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C++] Nagłówki, typy danych, standardy

Post autor: Afish »

Fibik pisze:10 bajtów, ale zaokrąglone do 12, z typowym ustawieniem data align do 4.
Dla align ustawione na 8 będzie tam 16.

1 + 15 + 64 = 80 bitów.
znak + eksponent + mantysa.

double ma chyba 52 bity na mantysę, ale 53 precyzji, bo najstarszy bit jest tam zawsze 1, więc go nie zapisujemy.
Jak już mówiłem, rozmiar zależy od implementacji:
Wikipedia pisze: On the x86 architecture, most C compilers implement long double as the 80-bit extended precision type supported by x86 hardware (sometimes stored as 12 or 16 bytes to maintain data structure alignment), as specified in the C99 / C11 standards (IEC 60559 floating-point arithmetic (Annex F)). An exception is Microsoft Visual C++ for x86, which makes long double a synonym for double. The Intel C++ compiler on Microsoft Windows supports extended precision, but requires the /Qlong‑double switch for long double to correspond to the hardware's extended precision format.

Compilers may also use long double for a 128-bit quadruple precision format, which is currently implemented in software.
Standard C++11:
Standard C++11 pisze: 3.9.1
There are three floating point types: float, double, and long double. The type double provides at least
as much precision as float, and the type long double provides at least as much precision as double.
The set of values of the type float is a subset of the set of values of the type double; the set of values
of the type double is a subset of the set of values of the type long double. The value representation of
floating-point types is implementation-defined.
Fibik
Użytkownik
Użytkownik
Posty: 971
Rejestracja: 27 wrz 2005, o 22:56
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 11 razy
Pomógł: 75 razy

[C++] Nagłówki, typy danych, standardy

Post autor: Fibik »

Bajki opowiadasz.

To jest ten typ z FPU procesorów x86, chociaż on faktycznie jest nazywany extended, no ale w c nie ma takiego typa w ogóle, było to zawsze long double.

Microsoft wycofują te rozkazy FPU, więc ostał im się tylko ten double i single - stosowane w SSE.

A to że sobie jakiś tam dziadowski kompilator, np. czeski, definiuje long double inaczej, np. quad, bo i tak bywa, nie ma żadnego znaczenia.
Afish
Moderator
Moderator
Posty: 2828
Rejestracja: 15 cze 2008, o 15:45
Płeć: Mężczyzna
Lokalizacja: Seattle, WA
Podziękował: 3 razy
Pomógł: 356 razy

[C++] Nagłówki, typy danych, standardy

Post autor: Afish »

Fibik pisze:Bajki opowiadasz.
No cóż, jeżeli nie masz innych argumentów, to nie będę ciągnął tematu. Przedstawiłem standard języka, jeżeli twierdzisz, że nie mówi on prawdy, to jest to już Twoja sprawa.
Anthil
Użytkownik
Użytkownik
Posty: 34
Rejestracja: 8 wrz 2007, o 15:57
Płeć: Mężczyzna
Lokalizacja: z Miasta
Pomógł: 1 raz

[C++] Nagłówki, typy danych, standardy

Post autor: Anthil »

Fibik pisze:C++ jest zbyt trudny nawet dla studentów... podobnie jaki i c.
W pełni obiektowy, uniwersalny język programowania, i plus mnóstwo bibliotek.

C++ jest obiektowo zorientowany a nie w pełni obiektowy. W pełni obiektowa to jest Java.

Co do podstaw C/Cpp to są banalne i łatwe dla licealistów a tym bardziej dla studentów. Podstawowe biblioteki też nie są jakieś strasznie trudne do opanowania szczególnie gdy uczy się ich pisząc projekty.

Co do bardziej wyrafinowanych o ich trudność zależy tylko od tego jak dobra dokumentację mają i jak często się z nich korzysta.
ODPOWIEDZ