Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 05:25

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Unverständliche Lösung

Discussion on Unverständliche Lösung within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1


 
elite*gold: 365
Join Date: Jan 2012
Posts: 1,232
Received Thanks: 215
Unverständliche Lösung

Hallo,

ich hoffe, ich befinde mich im richtigen Foren-Abteil.

Ich habe vorkurzem eine "Code" Zeile gesehen, die für mich komplett unverständlich war. Kann mir jemand diese vielleicht erklären?

Code:
int a = 2 | 1 | 6 & 12;
Das Ergebnis ist 7, aber warum? Ich habe leider kein anderes Beispiel gefunden.

(Entschuldigt bitte meine Frage, ich bin noch ziemlicher Anfänger :x)
FunkyJustice is offline  
Old 03/23/2017, 13:12   #2


 
Jeoni's Avatar
 
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
Das sind alles Bit-Operationen. Ich unterstelle mal, du weißt, was der OR- und der AND-Operator prinzipiell tun. Stellen wir die Zahlen also mal kurz als Binärdarstellung dar:
2 = 0010
1 = 0001
6 = 0110
12 = 1100
Nun schauen wir uns an, was in welcher Reihenfolge gemacht wird. Hierzu ziehen wir die zurate: Wir sehen, dass AND (&) vor OR (|) ausgeführt wird.
Also wird erst "6 & 12" ausgeführt: 6 & 12 = 0110 & 1100 = 0100 = 4
Jetzt werden die ORs ausgeführt ('4' ist das Ergebnis von "6 & 12"): 2 | 1 | 4 = 0010 | 0001 | 0100 = 0111 = 7
Mit freundlichen Grüßen
Jeoni
Jeoni is offline  
Thanks
2 Users
Old 03/23/2017, 13:23   #3
 
elite*gold: 8
Join Date: Sep 2014
Posts: 625
Received Thanks: 178
Zuerst müssen wir erkennen, dass die Operatoren rechts vom Gleichheitszeichen allesamt bitweise Operatoren sind (das erkennt man daran, dass es immer nur ein | oder & ist). D.h. wir betrachten nun die binären Darstellungen der Zahlen.
Darüberhinaus müssen wir beachten, dass manche Operationen vor anderen Operationen ausgeführt werden müssen. Das ist so wie in der Mathematik (Punkt vor Strich). Laut dem Internet hat das & Vorrang vor dem | ().

Wie kommt man nun auf die 7?

2 entspricht = 0010 (binär)
1 entspricht = 0001 (binär)
6 entspricht = 0110 (binär)
12 entspricht = 1100 (binär)

2 | 1 (| ist das binäre OR, d.h. wenn ein oder beide bits 1 sind, dann ist das Ergebnisbit eine 1, sonst 0)

0010 | 0001 = 0011

6 & 12 (& ist das binäre AND, d.h. wenn beide bits 1 sind, dann ist das Ergebnisbit eine 1, sonst 0)

0110 & 1100 = 0100

Und nun:

0011 | 0100 = 0111

Wobei 0111 einer dezimalen 7 entspricht.


Gruß,
qqdev
qqdev is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
[LÖSUNG] Auf Ranked Server seine Eigene Klassen nutzen [LÖSUNG]
11/21/2011 - Call of Duty - 0 Replies
Guten tag, Zu allererst benötigt ihr ein Ranked Server. Wenn ihr den Gefunden habt levelt euch ein bisschen. Danach geht ihr ab Level 4 in euer Klasseneditor. Natürlich für Lobby Spiele. Spielen -> Klasseneditor Wenn ihr im Klasseneditor seit macht ihr erstmal eure Klassen fertig. Nachdem ihr Eure Klassen fertig habt, eröffnet ihr ein Privates Match. Im Privaten Match erstellt ihr die SELBEN Klassen wie im Normalen Klasseneditor. Danach geht ihr gemütlich auf den Ranked Server und...
Lösung zum Problem für MilianLZ, (Hänger nach Teleport -34444 Gold)Hier die Lösung
05/29/2011 - Dragonica Private Server - 14 Replies
Hallo, da mehrere Leute diesesn Fehler haben habe ich hier mal ein neuen Thread gemacht der das Problem Lösen sollte. Du hast Recht es Liegt an deiner Version. Hier habe ich mal denn Link für die Neuste ( Für alle die das Problem wie Russia1996 haben.) ftp://61.160.207.131/Gameflier0.2.43.rar Da der Download über 4 Std dauern kann, habe ich hier ein Programm für euch der das Schneller macht nämlich Xunlei Thunder (Chinesisch) http://dl.xunlei.com/wxl.html Wenn ihr es Installiert...
[LÖSUNG] Ich habe eine Lösung damit ePvP nicht GESPAMMT WIRD !=)
07/28/2009 - Metin2 Private Server - 15 Replies
Also ganz easy ... wie ihr wisst ist das eine Hackerseite so... (viele schreiben aber du hacker (NUUBS) und ich glaube 90% von allen hier haben TS+Headset! Das ist ja auch schon die lösung alle ab 15+ kommen drauf wenn sie schon TS+Headset lesen ... richtig? JAAAA! alle die TS+Heatset haben kommen halt auf einem TS der für ePvP + Pserver ist damit sie sich schneller verstehen und bei problemen weiter kommen ! Ich hätte da ein server ID:88.84.154.93:2700 PW: server ohne Passwort



All times are GMT +1. The time now is 05:26.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.