/ / C # .net bitweise Verschiebung nach links. [duplizieren] - c #

C # .net bitweises Verschieben nach links.? [duplizieren] - c #

var x = 2;
var y=x+2<<2;
Console.WriteLine(y);
output = 16

Ich bezweifle, dass 16 kommt. Ich weiß über bitweise Verschiebung des linken Operators. welche Art von Operation ausgeführt wird.

Antworten:

2 für die Antwort № 1

Achten Sie auf die Priorität des Bedieners. 2 + 2 << 2 ist nicht 2 + (2 << 2).


1 für die Antwort № 2

es ist das gleiche wie unten: -

x + 2 = 4;

4 << 2 ////it means 16 if you perform bitwise on this.

Beschreibung zum Verständnis Lassen Sie den Shift-Betrieb: -

Verschiebt Bits nach links. Die Nummer links vom Operator lautet Die Anzahl der durch die Anzahl angegebenen Stellen wurde nach rechts verschoben. Jede Verschiebung nach links verdoppelt die Zahl, also jede Verschiebung nach links multipliziert die ursprüngliche Zahl mit 2. Verwenden Sie die linke Verschiebung für schnell Multiplikation oder um eine Gruppe von Zahlen zu einer größeren zusammenzufassen Nummer. Das Verschieben nach links funktioniert nur mit ganzen Zahlen oder Zahlen automatisch in eine ganze Zahl wie at Byte und Char konvertieren.

also in Ihrem Fall sagen wir die Präsentation für 4 ist 100 und es würde um verschoben werden 2 so wird es 10000 was ist Präsentation von 16 : -

for 4 :- 100
left shift by 2 so,
10000 ////Which is 16