Easeful Opublikowano 14 Lutego 2010 Udostępnij Opublikowano 14 Lutego 2010 Można sobie wczytać bajt: GML file_bin_read_byte() A czy można z tego bajta wyłonić 8 bitów (bo tyle ich się w nim znajduje)? Zbyt bardzo się na tym nie znam .. no dobra praktycznie w ogóle nie wiem jak to wszystko funkcjonuje, ale się tak pytam tylko.. bo to chyba suma tych bitów jest Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Shockah Opublikowano 14 Lutego 2010 Udostępnij Opublikowano 14 Lutego 2010 readBit(wartość bajta (0-255) , który bit): GML var list, num, done, t; num = argument0; list = ds_list_create(); done = false; while (!done) { t = num mod 2; ds_list_add(list,t); if num == 0 or num == 1 then done = true; num = num div 2; } t = ds_list_find_value(list,argument1-1); ds_list_destroy(list); return t; Kiedyś to pisałem na własne potrzeby. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Platyna Opublikowano 14 Lutego 2010 Udostępnij Opublikowano 14 Lutego 2010 Lol. A nie łatwej użyć operatorów bitowych? To zdaje się będzie jakoś tak: GML (readBit) num=argument0; a=argument1; num=num >> (a-1); return num & 1; Przesunięcie bitowe. Jeśli mamy taki bajt: 01101011 I chcemy uzyskać wartość 3 bita to robimy przesunięcie bitowe o 2 w prawo i uzyskujemy: 00011010 No i ostatni bit z uzyskanego bajta odcytujemy robiąc bitowe AND 1. (równoważne modulo 2) To też widać, że działa i to szybciej niż mod 2. Bo jeśli mamy jakikolwiek baj: 01101011 i zrobimy AND z 1 czyli z: 00000001 To widać, że wyzerują się wszystkie początkowe bity, a ostatni zależnie od tego czy jest 1 czy 0 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Easeful Opublikowano 14 Lutego 2010 Autor Udostępnij Opublikowano 14 Lutego 2010 a jeden bit to 0 lub 1 tak ? a rodzajów bajtów jest 256 (0-256) bo jest 256 kombinacji tych bitów? że np 000001 000010 000110 itp rozne kombinacje Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Muuuuczek567 Opublikowano 14 Lutego 2010 Udostępnij Opublikowano 14 Lutego 2010 Gwoli ścisłości: zakres to (0-255). I tak, jeden bit to 0 lub 1, a bajt to 8 bitów, czyli liczba od 0 do 255 zapisana w systemie dwójkowym. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się