Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Mały Tutorial ;D
poxrimex
post
Post #1





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


Witam!

Otóz nie chciałbym, aby ktoś mnie odsyłał do innych kursów ja po prostu chcem, aby tutaj ktoś mi to solidnie wytłumaczył (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Nie rozumiem kilku rzeczy. Z góry dziękuje za wytłumaczenie (IMG:http://forum.php.pl/style_emoticons/default/wstydnis.gif)

1. Co oznaczają i do czego służą Operatory Bitowe np:
  1. <?php
  2. $a & $b
  3. $a | $b
  4. ~$a
  5. a$ << $b  ( co to wogule oznacza przesunięcie bitów? )
  6. ?>

2. Nie zaczaiłem do czego służą Referencje oraz funkcja Unset oraz isset.
Prosiłbym o wytłumaczenie na przykładzie
3. Funkcja gettype i settype również wytłumaczenie jak w pkt 2

Z Góry dziękuje.

Piszę to gdyż nie zrozumiałem tego w rzadnym z kursów (IMG:http://forum.php.pl/style_emoticons/default/sciana.gif)
Go to the top of the page
+Quote Post
John
post
Post #2





Grupa: Zarejestrowani
Postów: 107
Pomógł: 11
Dołączył: 1.08.2007
Skąd: Poland,Warsaw

Ostrzeżenie: (0%)
-----


1. przekopiowane z php.net

  1. <?php
  2. $a & $b /*Mnożenie bitowe Dany bit wynikowy jest równy 1 tylko jeśli obydwa bity składowe są równe 1 ( działa jak == )*/
  3.  
  4. $a | $b /*Sumowanie bitowe Dany bit wynikowy jest równy 1 jeśli conajmniej jeden bit składowy jest równy 1 ( działa jak or )*/
  5. $a //Negacja bitowa Bity w zmiennej $a mające wartość 1 otrzymują wartość 0 i na odwrót ( działa jak negacja )
  6. ?>


Przesuwanie bitowe co oznacza ?
najprościej to będzie przykład
  1. <?php
  2. //niech 
  3. $a = 2 //2 bitowo jest równe 0010
  4. //niech 
  5. $b = 1 
  6.  
  7. //wtedy 
  8. $a << $b 
  9. //oznacza ze przesuwasz bit o jeden w lewo czyli
  10. //0010 przechodzi na 0100 czyli
  11. //2 zamienia sie w 4
  12. ?>

2. unset , usuwa zmienną czyli :
  1. <?php
  2. $a = 2;
  3.  unset($a);
  4. //i tu dochodzimy do isset, która sprawdza czy dana zmienna istnieje - jest określona
  5. isset($a) //da w tym wypadku false;
  6. //jeśli znów przypiszemy 
  7. $a = 2;
  8. to 
  9. isset($a) //da true;
  10. ?>


3. gettype i settype
zwraca i ustawia typ zmiennych
  1. <?php
  2. $a = 2;
  3. gettype($a) //zwróci wartość integer ( liczba całkowita ).
  4. settype($a,string) //zmieni typ zmiennej na łańcuch znaków ( tekst np. )
  5. ?>


Ten post edytował John 20.01.2008, 14:27:27
Go to the top of the page
+Quote Post
poxrimex
post
Post #3





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


Możę to teraz trochę nie na temat.

Mógłby mi ktoś wytłumaczyć te bity co to wogule jest? i jak to w praktyce wygląda?
Go to the top of the page
+Quote Post
qrees
post
Post #4





Grupa: Zarejestrowani
Postów: 275
Pomógł: 44
Dołączył: 23.11.2007

Ostrzeżenie: (0%)
-----


Cytat(poxrimex @ 20.01.2008, 14:55:43 ) *
Możę to teraz trochę nie na temat.

Mógłby mi ktoś wytłumaczyć te bity co to wogule jest? i jak to w praktyce wygląda?



Przekopiowane z Wikipedia.org:

Bit (z ang. binary digit) – najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie prawdopodobnych stanów przyjął układ. Jednostka logiczna.

Jest to również najmniejsza jednostka informacji używana w odniesieniu do sprzętu komputerowego a oznaczana jest za pomocą „b”. Przeważnie stosuje się podstawowe przedrostki wielokrotności SI, czyli o mnożniku 1000.

Bit przyjmuje jedną z dwóch wartości, które zwykle określa się jako 0 (zero) i 1 (jeden), choć można przyjąć dowolną inną parę wartości, np. prawda i fałsz, tak lub nie czy -1 i +1. W pierwszym przypadku bit jest tożsamy z cyfrą w systemie dwójkowym.

Binarny sposób zapisu informacji związany jest z tym, że komputer jako urządzenie elektroniczne rozpoznać może dwa stany prądowe:

  • 0 – brak napięcia lub bardzo niskie (mniej niż 10% wartości wysokiego)
  • 1 – wysokie napięcie.
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(poxrimex @ 20.01.2008, 14:55:43 ) *
Mógłby mi ktoś wytłumaczyć te bity co to wogule jest? i jak to w praktyce wygląda?
Bit to najmniejsza ilość informacji, którą posługują się komputery.
Wybacz ale równie dobrze możesz zapytać polonistę do czego służy literka a.

W praktyce wygląda to tak: każda informacja zapisana jest jako ciąg bitów.

Poczytaj o podstawach informatyki, bez tej wiedzy nie masz co zabierać się klawiaturę.
Go to the top of the page
+Quote Post
poxrimex
post
Post #6





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


To może inaczej dlaczego liczba 2 jest w bitach jako 0010?
Proszę o praktyczne przykłady, będę wdzięczny
Go to the top of the page
+Quote Post
mike
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Z tego samego powodu dlaczego liczba 16 w systemie dziesiętnym ma zapis 16.
Dwójkowy system liczbowy
Go to the top of the page
+Quote Post
poxrimex
post
Post #8





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


hmm?
nadal prosiłbym np jaki zapis ma w tym systemie liczba 8 12 oraz inne i dlaczego?
To by mi się najbardziej przydało (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
mike
post
Post #9





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


8 = 1000 bo 1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 0 * 2^0
12 = 1010 bo 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 0 * 2^0


^ to potęga, 2^3 = 2 do potęgi 3
Go to the top of the page
+Quote Post
John
post
Post #10





Grupa: Zarejestrowani
Postów: 107
Pomógł: 11
Dołączył: 1.08.2007
Skąd: Poland,Warsaw

Ostrzeżenie: (0%)
-----


Wytłumaczę Ci po tak prosto,że prościej się nie da, jeśli nie zrozumiesz to przerzuć się na polonistykę.
Kod
kod :                 0    0    0    0
miejsca w kodzie:    3    2    1    0
potęga liczby 2 :    2^3    2^2    2^1    2^0 gdzie ^oznacza potęgę.

Jak będzie wyglądać liczba 8 w systemie binarnym - bitowym czyli 01010101010101 itd.
8 = 2^3 ( do potęgi )
czyli jedynka reprezętująca dwójkę musi być na 3 miejscu bo taka jest potęga dwójki.
czyli 8 = 2^3 =     1    0    0    0 ( bo liczysz od 0 nie od 1)

analogicznie dla liczby 12
12 = 2^3 + 2^2 =    1    1    0    0 ( jedynka na 3 i 2 miejscu ).

wracając do przesunięcia bitowego, jeśli przesuniesz teraz bity o 1 w prawo to jak byś zmniejszył
potęgi dwójki o jeden czyli
12 >> 1 ( przesunięcie w lewo )

0    1    1    0    = 0+ 2^2 + 2^1 = 6


Mike pokazał skróconą wersje
p.s 12 = 1100 nie 1010

Ten post edytował John 20.01.2008, 15:24:48
Go to the top of the page
+Quote Post
phpion
post
Post #11





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




8 to:
1000
ponieważ:
2^3 = 8

12 to:
1100
poniważ:
2^3 + 2^2 = 8 + 4 = 12

Do której potęgi podnieść 2 dowiadujesz się patrząc na którym miejscu stoi 1 (licząc od prawej strony). Liczy się od 0. Czyli np.

1 to:
1
ponieważ:
2^0=1

2 to:
10
ponieważ 2^1 = 2

3 to:
11
ponieważ
2^1 + 2^0 = 2 + 1 = 3

Mam nadzieję, że jasno wytłumaczyłem.
Go to the top of the page
+Quote Post
Danone
post
Post #12





Grupa: Zarejestrowani
Postów: 169
Pomógł: 16
Dołączył: 18.10.2006
Skąd: Olsztyn/Wrocław

Ostrzeżenie: (0%)
-----


To np liczba 20 będzie wygłądała w taki sposób:


10100 = 20, ponieważ jadąc od lewej masz tak:

1=16, 0=8, 1=4, 0=2, 0=1.


Rozumiesz już (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Zaczerpnięte z wikipedia.pl prościej się chyba nie da (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


Obliczanie wartości dziesiętnej liczby zapisanej w systemie dwójkowym
43210 111102 = 11110 = 1x24 + 1x23 + 1x22 + 1x21 + 0x20 = 1 x 16 + 1 x 8 + 1 x 4 + 1 x 2 + 0 x 1 = 16 + 8 + 4 + 2 = 30 Jedynka podobnie jak w systemie dziesiętnym ma różne wartości w zależności od swojej pozycji - na końcu oznacza 1, na drugiej pozycji od końca 2, na trzeciej 4, na czwartej 8, itd. Ponieważ 0 x 2n=0, oraz 1 x 2n = 2n aby obliczyć wartość liczby zapisanej dwójkowo, wystarczy zsumować potęgi dwójki odpowiadające cyfrom 1 w zapisie.

Ten post edytował Danone 20.01.2008, 15:25:48
Go to the top of the page
+Quote Post
phpion
post
Post #13





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(mike @ 20.01.2008, 17:22:08 ) *
12 = 1010

Chyba się machnąłeś (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) powinno być 1100.

---
Od razu zauważyłem ale nie zdążyłem wyedytować zanim ktoś nie zauważy (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
~mike
Go to the top of the page
+Quote Post
poxrimex
post
Post #14





Grupa: Zarejestrowani
Postów: 368
Pomógł: 2
Dołączył: 23.09.2007

Ostrzeżenie: (60%)
XXX--


Już rozumiem. (IMG:http://forum.php.pl/style_emoticons/default/blinksmiley.gif)

Sry za moją "tempotę" ale człowiek od czegoś musi zacząć.

Dzięki wszystkim za pomoc ;p
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 12:21