TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
czy jest taki typ w C++ jak 'boolean' w pascalu? , Ometoch 17/07/03 16:35 chodzi mi o stosowanie flag (0 albo 1). wiem że można kodować to w 1 bajcie co daje 8 flag ale to trzeba przeliczac za kazdym razem. chyba że ktoś ma na to jakiś sposób. (odpada sposób stosowania 1 bajtu na flage bo chodzi o to, żeby zajmowało jak najmniej miejsca w pamięci)Najgorzej jest wiedzieć, że coś nie
chodzi jak powinno i nie wiedzieć
jak to naprawić ! - w czystym C , Jumper 17/07/03 16:57
chyba nie ma, ale np. pod Visual C jest"Łatwiej wybaczyć wrogowi niż
przyjacielowi"
William Blake - To może... , maciusk 17/07/03 17:31
Spróbuj utworzyć własną strukturę i przypisać polom po jednym bicie.MSI 683dx - no tak, tylko musze określić typ każdego rekordu :/.. , Ometoch 17/07/03 17:49
..a tu najmniejszy jest char (8 bitów)... chyba że źle zrozumiałem..Najgorzej jest wiedzieć, że coś nie
chodzi jak powinno i nie wiedzieć
jak to naprawić ! - uzyj pol bitowych, upewnij sie jednak, w jaki sposób sa one optymalizowane , bwana 17/07/03 18:48
w Twoim kompilatorze (minimalny rozmiar danych czy maksymalna wydajnosc)."you don't need your smile when I cut
your throat" - pole bitowe definiuje sie np. tak: int flaga : 1; , bwana 17/07/03 18:54
lub unsigned parka:2;
kwestia tylko, jak kompilator zarzadza takimi polami, bo byc moze pole jednobitowe i tak zajmuje np. calego int-a w pamieci (bo tak jest szybciej), a moze jednak pola są "upakowywane" po kilka w ramach jednego adresu w pamieci - tego Ci niestety nie jestem w stanie powiedziec."you don't need your smile when I cut
your throat"
- Ale po co tyle kombinacji... , WooKy 17/07/03 19:10
W c++ jest typ bool ktory moze byc true(1) albo false(0).
No i po klopocie:-)bitnoi.se - Po to, zeby zaoszczedzic pamiec z jakichs wzgledow, znanych autorowi pytania , bwana 17/07/03 19:54
reprezentacja typu bool w C++ zajmuje 1 bajt w pamieci (a moze jedno slowo - nie pamietam). Osobiscie zgadzam sie ze zdaniem Pachury, operatory bitowe powinny wystarczyc, tym bardziej, ze niezaleznie od ustawien kompilatora mamy _gwarancje_ ze wszystkie bity faktycznie beda w tym samym bajcie (slowie, podwojnym slowie - zaleznie jaki typ sobie obierzemy za nosnik bitow)."you don't need your smile when I cut
your throat"
- Oj, panowie... , pachura 17/07/03 19:16
1. Typ "boolean" w Pascalu zajmuje jeden bajt.
2. W C++ jest typ "bool". Zajmuje jeden bajt. W zwykłym C takiego typu nie było.
3. Odczyt/zapis bitów z/do bajtu nie jest trudny. Wykorzystujemy operatory bitowe... np. żeby odczytać trzeci bit, należy najpierw przesunąć bajt o 3 w prawo (SHR), a następnie wyczyścić (zamaskować) pozostałe bity (AND).
trzeci_bit = (bajt >> 3) & 1;
4. Co do pamięci... kto oszczędza na flagach? Lepiej rozrzucić dane co quadword żeby procesor miał do nich szybszy dostęp.- Tra... , Umek 17/07/03 20:42
tylko że autor posta zapomniał zapodać na co to C++ ma być. I jak dla mnie jest to problem kluczowy. I do czego to właściwie potrzebne...
Ale zawsze można sobie pooszczędzać i poświęcić na to masę obróbki dodatkowej :))))
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|