Hejto.pl
Dodaj post

Wpisz coś do wyszukania (minimum 2 znaki)

Wpis użytkownika vrkr w Hydepark

Gruba ryba

w Hydepark

31piorunów

(╯°□°)╯︵ ┻━┻

Komentarze (7)

Fenomen0piorunów

Ale struktura 8 booli nie musi zajmować 8 bajtów.

Osobistość0piorunów

@osn_jallr Tak, ale ewaluacja danego boola z bitmaski, na przykład "bitmask & 1<<5" to w rejestrze procesora musi zająć conajmniej jeden bajt. Niżej nie da rady.

Osobistość1piorunów

Sorry, ale tzw padding istnieje nie bez powodu, baba jak zwykle robi problem z niczego.

Osobistość0piorunów

@TRPEnjoyer Padding to wyrównywanie w strukturze przez dodawanie bajtów w strukturze by łatwiej było dobierać się do zmiennych w kodzie maszynowym..
To co mówisz, to jest "promowanie" i sobie takie rvalue "true" sobie maszynowo zamieni na inta.

Osobistość6piorunów

@vrkr Bool nie ma warunku definicji rozmiaru, ponieważ rozmiary typów całkowitych też nie mają gwarancji być zawsze takie same. Ma tylko następujące wytyczne:

* wartości boolean są tego samego rozmiaru przy porównywaniu
* jest prawdą jeśli wartość jest niezerowa

Taka minimalna logika pozwala różnym językom implementować to jak chcą, dając użytkownikowi tryb "tak bardzo wyjebane" ja tylko używam true i false i am w d⁎⁎ie jak kompilator robi.

Osobistość2piorunów

@ZohanTSW Znaczy się ewaluacja/kalkulacja tej wartości w rejestrze można zredukować do jednego bajta. Bo jest cwany trick by upchać 8 boolów w bajcie .
A potem ktoś potrzebuje boola wypromować do enuma XDDDD

Fanatyk2piorunów

@wielkaberta ale w praktyce najczęściej zajmuje tego bajta
Jeśli nie robi się w embedded lub nie pracuje się z jakimiś bardzo małymi klockami to w ogóle wszyscy mogą mieć to w dupie xd