Skocz do zawartości

Kolory


Rekomendowane odpowiedzi

  • Administratorzy

o ile pamiętam, to w GM można używać liczb szesnastkowych - wtedy draw_set_color($FFFFFF); zadziała. A jak nie to sobie wymnóż kolejno te liczby. Przez 16 do potęgi o kolejnych wykładnikach.

Odnośnik do komentarza
Udostępnij na innych stronach

Nie jestem pewien czy on będzie wiedział w ogóle co to system szesnastkowy skoro pierwiastka nie wiedział.

 

Kod szesnastkowy składa się kolejna z takich cyfr

0 1 2 3 4 5 6 7 8 9 A B C D E F

czyli A=10, B=11, F=15 itp.

 

Czyli w skrócie tak jak my używamy systemu dziesiętnego (mamy 10 cyfr) to szesnastkowy ma 16 cyfr (0-15)

 

No i kolejne znaki bierzesz:

Znak*(16 do potęgi równej pozycji znaku)

 

Mam nadzieję, że wyjaśniłem dość jasno.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

Platyna, nie bardzo, bo nie napisałeś, że to się od tyłu się liczy :)

 

FF to jest 15 * 16^1 + 15 * 16^0, czyli 255

FFF to jest 15 * 16^2 + 15 * 16^1 + 15 * 16^0, czyli 4095

FFFFFF to jest 16777215

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

no jak dziwnie - ostatnia liczba to jest do zerowej, przedostatnia do pierszej... czytasz od prawej do lewej.

 

F to 15, bo to jest 15 * 16^0

 

1F to jest 31, bo to 1 * 16^1 + 15 * 16 ^ 0.

2F to jest 47, bo to 2 * 16^1 + 15 * 16 ^ 0.

 

Tak samo jak w dwójkowym, tyle że tam masz 1 albo 0 mnożone przez 2^x, ale w takiej kolejności:

 

2^n+1, 2^n, 2^n-1, ... 2^2, 2^1, 2^0

 

Pierwsza liczba ma najwyższy współczynnik przy potędze, ostatnia ma zerowy.

Odnośnik do komentarza
Udostępnij na innych stronach

GML
var _crs,_len,_cod,_ind,_chr,_pos,_ret;

_ret=0;

_cod=string(argument0);

_crs='0123456789ABCDEF';

_len=string_length(_cod);

_pos=_len;

for(i=1; i<=_len; i+=1)

{

_pos-=1;

_chr=string_char_at(_cod,i);

_ind=string_pos(_chr,_crs)-1;

_ret+=_ind*16^_pos;

}

return _ret;

Napisałem taki skrypt, doby jest?

Odnośnik do komentarza
Udostępnij na innych stronach

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ę
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...