witam
czasem spotykam sie w .sma z takim czyms '&&' to woem co to jest
ale napotykam tazke to '&'
co to jest to &
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Najlepsza odpowiedź Gość_21977_* , 06.07.2013 15:23
Tak.
Określamy największą liczbę, będącą potęgą liczby 2, nie większą niż 10.
Wynosi ona dokładnie 
10 >= 8, więc zapisujemy 1
10 -= 8 = 2
kolejną potęgą jest 4
2 < 4, więc zapisujemy 0
kolejną potęgą jest 2
2 >= 2, więc zapisujemy 1
2 -= 2 = 0
kolejną (i ostatnią) potęgą jest 1
0 < 1, więc zapisujemy 0

Napisano 03.07.2013 18:23
witam
czasem spotykam sie w .sma z takim czyms '&&' to woem co to jest
ale napotykam tazke to '&'
co to jest to &
Napisano 03.07.2013 19:33
If you can dream it, you can do it.
Napisano 03.07.2013 19:39
Podwójne operatory (&& oraz ||) są to operatory logiczne (i oraz lub). Operatorem logicznym jest negacji jest !.
Pojedyncze (& oraz |) są operatorami bitowymi. Operatorem bitowym negacji jest ~.
Operatory logiczne traktują wszystko, co jest równe zero za fałsz, wszystko różne od zera jako prawdę (niektórzy mylnie uważają, że wszystko co dodatnie, a tak nie jest!) i zwracają 0 lub 1
Operator bitowy traktuje każdy bit z danych osobno, na każdym odpowiadającym bicie wykonuje dokładnie to samo, co logiczny na całej zmiennej, czyli dla a=0 i b=1 wynik operacji a | b i a || b będzie równy. Jednak dla a=0b0 i b = 0b11 otzymamy a | b = 0b11, a || b = 0b1. Dla a=0b10 i b = 0b1 otrzymamy a | b = 0b11 i a || b = 0b1
Na forum już to kilka razy było tłumaczone, jakbyś dobrze poszukał to być wiedział ![]()
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.

Napisano 03.07.2013 22:39

Popularny
Podsumowując, operatory różnią się przede wszystkim typem:
Zwracana wartość dla operatora logicznego && jest także logiczna i odpowiada koniunkcji wartości logicznych wyrażeń, przyjmując:
Przy czym dana wartość jest logicznie:
Zwracana wartość dla operatora binarnego & jest wartością, będącą iloczynem binarnym tych wartości.
Iloczyn binarny & możemy odzwierciedlić jako koniunkcję logiczną && każdego z bitów binarnego zapisu liczby osobno.
Pozostając w tym odzwierciedleniu, możemy dojść do obrazowego wskazania absolutnej i ostatecznej różnicy między & a &&,
uznając, że & swym działaniem (jakkolwiek nie definiowanym) obejmuje pojedynczy bit, a && całą odzwierciedloną wartość binarną.
Idąc dalej tym krokiem rozumowania a za razem w ramach ciekawostki dodam, iż w niektórych językach programowania,
mamy do czynienia nie tylko z ograniczeniem działania danej operacji (w Twoim pytaniu iloczynu oznaczanego ampersandem &)
ale także:
używanego najczęściej przy wyjścia strumienia skryptu, czy przekierowaniu zwracanej wartości funkcji.
Jednakże z poyższych, w pawnie masz do dyspozycji jedynie operatory binarne (pojedyncze) i logiczne (podwójne).
Użytkownik Benio101 edytował ten post 03.07.2013 23:08
lit.
Napisano 03.07.2013 22:54
Benio napisz nowy temat w tutorialach przy okazji (wystarczy ctrl+c
)
i od razu rób jakiś słowniczek wyrazów obcych, bo pierwszy raz spotykam się z wyrazem ampersant
Napisano 04.07.2013 07:36
lol. czytam i wytrzeszczam galy ![]()
a jak mam cos takiego?
if (get_cvar_num("gal_debug") & 4)
{
//
}
Napisano 04.07.2013 12:03
Użytkownik K!113r edytował ten post 04.07.2013 15:03
DarkGL to mój autorytet.
skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować
Napisano 04.07.2013 12:25
Trzeci bit
No chyba, że liczymy od zera, wtedy drugi.
Może tak koledze będzie łatwiej zrozumić. Ten zapis oznacza dokładnie to samo:
if (get_cvar_num("gal_debug") & 0b100)
I już coś w główce świta? Jak wiesz wszystko RÓŻNE od zera jest wartością true, więc jeśli COKOLWIEK różne od zera wyjdzie z tego wyrażenia, to if to jako true potraktuje i wpuści do środka.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.

Napisano 05.07.2013 07:05
czyli jeśli ustawię tego cvara np. na 10, to będzie true i poleci tym ifem dalej
Użytkownik Benio101 edytował ten post 05.07.2013 07:55
Liczne błędy poprawione
Napisano 05.07.2013 08:04
Nie, 10 = 8 + 2
Napisano 05.07.2013 08:16
ale tez 10 = 4 + 6 wiec o co chodzi?
Napisano 05.07.2013 08:52
Zapraszamy tutaj
http://amxx.pl/forum/16-tutoriale/
i szukania w google bo to jednak jest potężne narzędzie w dobrych rękach
Napisano 05.07.2013 13:32
czyli obie liczby musza byc potega dwojki np
24= 2^4+2^3
10 = 0b1010
ale o co chodzi z tym b w srodku liczby?
Napisano 05.07.2013 19:00
0b oznacza zapis binarny, 0x zapis szesnastkowy, a samo 0 przed właściwą wartością zapis ósemkowy. Jest jeszcze zapis 256-tkowy, czyli z użyciem znaków ascii, po prostu odpowiednie znaki ujmujesz w ' '
I nie, to nie jest string, to jest wartość pojedynczej zmiennej.
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.

Napisano 06.07.2013 12:04
czyli 10 = 0b1010 to 2^3+0+2^1+0?
Napisano 06.07.2013 15:23 Najlepsza odpowiedź
Tak.
Określamy największą liczbę, będącą potęgą liczby 2, nie większą niż 10.
Wynosi ona dokładnie 
10 >= 8, więc zapisujemy 1
10 -= 8 = 2
kolejną potęgą jest 4
2 < 4, więc zapisujemy 0
kolejną potęgą jest 2
2 >= 2, więc zapisujemy 1
2 -= 2 = 0
kolejną (i ostatnią) potęgą jest 1
0 < 1, więc zapisujemy 0

Napisano 08.07.2013 09:04
dobra a jak rozkodowac licze w systemie dwojkowym do dziesietneg?
np taka: 11101001
Napisano 08.07.2013 09:06
Napisano 08.07.2013 10:15
super. dzięki
0 użytkowników, 0 gości, 0 anonimowych