PatrikBMedlem sedan mars 20002 713 inlägg Hello!
Har denna C# kod och undrar vad motsvarande VB.NET kod är:
x >>= y
cya,
PatrikB
ptypeMedlem sedan juni 2002151 inlägg vad betyder det i C#? har jag aldrig sett förut
PatrikBMedlem sedan mars 20002 713 inlägg He, He ... det är det jag oxå undrar.
Håller på och konverterar C# -kod till VB.NET kod .... men, det vart stopp där ...
cya,
PatrikB
nikoMedlem sedan juni 20022 415 inlägg Med risk för att göra bort mig, men jag tror inte det finns nån bitshiftsoperator i VB.NET. Man får nog göra det manuellt:
x = x \ (2 ^ y)
.. eller nåt liknande.
NETworkMedlem sedan juni 20011 679 inlägg Vad är en bitshiftsoperator, något som växlar mellan 0 och 1 eller?
nikoMedlem sedan juni 20022 415 inlägg
NETwork skrev:
Vad är en bitshiftsoperator, något som växlar mellan 0 och 1 eller?
Nej, inte direkt. Bitskiftning innebär att man flyttar alla bitar i ett antal bytes ett bestämt antal steg åt antingen höger eller vänster och fyller på med nollor från andra hållet.
(x >>= y) <=> (x=x>>y) (jämför: x+=y <=> x=x+y)
vi ska alltså flytta alla bitar i x, y steg åt höger.
Exempel:
(128>>2) = (10000000>>2) = 00100000=32
Att skifta y steg åt höger är samma sak som att dividera med 2^y.
Att skifta y steg åt vänster är samma sak som att gånga med 2^y. Tex: 32<<2=32*4=128.
nikoMedlem sedan juni 20022 415 inlägg Verkar förresten som om MS upptäckt "missen" och ändrat i VB.NET 2003:
There are two main changes I found in VB.Net 2003 and also read on MSDN. In this article I will explain them in brief.
Those are:
1.Variable declaration for Loops and their scope.
2.Bit Shift operators
Källa: http://www.w3coder.com/vbnet/VBNet2003New.aspx
NETworkMedlem sedan juni 20011 679 inlägg Aha, ok tack för den lektionen. :)
JosefMedlem sedan mars 20023 123 inlägg Har du något konkret exempel på när man skulle behöva sån här "bitshifting"?
PatrikBMedlem sedan mars 20002 713 inlägg Jepp,
exemplet som jag hittade där jag försöker att konvertera till VB.NET från C# är skrivning till en MemoryStream.
Tackar för det länken
cya,
PatrikB
PatrikBMedlem sedan mars 20002 713 inlägg Postade samma fråga på https://www.asp.net forumet och fick till slut detta svar från en i ASP.NET Teamet:
VB.NET doesn't have the "(op)=" shortcuts that C, C++ and C# have. However, it does have the same bit shift operator. The equivalent expression would be:
x = x >> y
cya,
PatrikB
nikoMedlem sedan juni 20022 415 inlägg
VB.NET doesn't have the "(op)=" shortcuts that C, C++ and C# have. However, it does have the same bit shift operator. The equivalent expression would be:
x = x >> y
Fast det är ju inte rätt. Man kan inte kompilera:
x = x >> y
.. i VB.NET. Men i VB.NET 2003 kan man, som sagt.
PatrikBMedlem sedan mars 20002 713 inlägg jepp, det är sant ..... man tänker inte på "vad andra" kör för versioner. Man blir lite "hemma blind" :e
cya,
PatrikB
nikoMedlem sedan juni 20022 415 inlägg
Man blir lite "hemma blind"
Fast om jag ska vara ärlig så tror jag snarare att det är dom som har lite dålig koll. Dom skriver ju faktiskt VB.NET och inte VB.NET 2003 (vilket nästan ingen kör ännu).