Möchte einen String(Hexwert im 8 Bit Format) in einzelne
Bit's umwandeln?
vielen Dank im Voraus,
Gruß Lisa
Kannst du mal einen Beispielstring posten?
--
Herfried K. Wagner [MVP]
<URL:http://dotnet.mvps.org/>
"Lisa Ritola" <anon...@discussions.microsoft.com> schrieb:
hallo NG,
Möchte einen String(Hexwert im 8 Bit Format) in einzelne
Bit's umwandeln?
====
Was verstehst du unter umwandeln? Wie Hexadezimale Darstellung bspw. ein
Byte-Typ gewandelt wird findest du in der MSDN und wie man mittels AND, OR
etc. damit arbeitet bestimmt auch. Das sind Grundlagen der Informatik.
Gruß
Volker
bis jetzt besteht noch kein Beispiel.
möchte aber mein Anliegen vortragen.
es geht um die Ansteuerung eines IO-Port's, welche ich für
die externe Steuerung nutze.
z.B.: das Datenbit 2 und 4 haben einen 1 Wert, alle andere
einen 0 Wert.
Frage:
wie wird ein Dezimal-Wert von 0 - 255 in einen Bit-Wert
umkonvertiert ?
Antwort:
Der richtige Datentyp ist Byte (= 8 Bit)
Somit:
Dim dd as Decimal(??) = 245 ' Zahl zwischen 0 - 255
Dim by as Byte = CByte(dd)
Mit Bits und Bytes hast du es aber nicht so, oder?
wenn Du einen IO-Port ausgelesen bzw. abgefragt hast, dann muss es ja einen
Ergebniswert geben, den Du zunächst irgendwo speicherst. Mach bitte nicht
den Fehler, und verwechsele bzw. trenne Bitmuster und Dezimalwerte.
Dezimalwerte sind es für Dich, der Computer sieht - vereinfacht
ausgedrückt - sowieso nur Bitmuster. Wenn Du den Computer also anweist,
einen bestimmten Port auszulesen, dann speichert er das nicht in einer
besonderen "Bitmuster-Variablen" - für ihn ist das bereits ein Byte, ein
Short, ein Integer oder ein Long (auch andere numerische Variablentypen,
aber da würde jetzt zu weit führen).
Ich nehme an, du möchstest gezielt einen "Wert" in Form einer numerischen
Variablen zusammenbasteln, der bestimmte (oder besser: bestimmbare) gesetzte
Bits hat, oder herausfinden, welche Bits gesetzt sind. Dazu folgendes:
dim portwert as integer
portwert=blablabla ' Hier kommt der Wert aus dem Port
' bestimmtes Bit abfragen:
if (portwert and 2^Bitnummer)=2^Bitnummer then
' Das Bit ist gesetzt
else
' Das Bit ist nicht gesetzt
endif
' bestimmtes Bit setzen
portwert=portwert or 2^Bitnummer
' bestimmtes Bit löschen
portwert=powertwert and not 2^Bitnummer
War's das, was Du brauchst?
Gruß
Klaus
---
Visual Basic .NET - Das Entwicklerbuch
http://entwicklerbuch.ichbrauch.info
"Lisa Ritola" <anon...@discussions.microsoft.com> schrieb im Newsbeitrag
news:2745e01c46361$073a5f20$a401...@phx.gbl...
Sehr konstruktiver Kommentar :-(
> Mit Bits und Bytes hast du es aber nicht so, oder?
Nicht jeder, der Programmiert, hat Informatik studiert...
(ich z.B. auch nicht, weil ich noch zur Schule gehe)
(oder wann kommt AND, OR usw. dran?)
--
Pascal Schmitt
http://cebra.nu/
Das habe ich auch nicht behauptet, das ich ein Informatikstudium
vorraussetze. Dennoch halte ich den Umgang mit Bits und Bytes für
Grundlagenwissen und betrachte dass nicht als Thema in einer .NET Newsgroup.
> (oder wann kommt AND, OR usw. dran?)
Das die Frage kommt, habe ich befürchtet. ;-)
Volker,
warum darf nicht jemand auch mal eine Grundlagenfrage stellen? :-)
Petrer
Hallo Peter
Grundlagenfragen sind super.
Diese ganze NG besteht nur aus beantworteten Grundlagenfragen und
nichtbeantworteten Fragen.
Gruss
Oliver Oenbrink
>>Das habe ich auch nicht behauptet, das ich ein Informatikstudium
>>vorraussetze. Dennoch halte ich den Umgang mit Bits und Bytes für
>>Grundlagenwissen und betrachte dass nicht als Thema in einer .NET
>>Newsgroup.
>
> Volker,
> warum darf nicht jemand auch mal eine Grundlagenfrage stellen? :-)
Etwa so?
news://news.microsoft.com:119/199cd01c44d55$b3c13880$a401...@phx.gbl
news://news.microsoft.com:119/1f14a01c45753$e506b2a0$a501...@phx.gbl
Patrizia wrote:
> wie programmiert man eigentlich?
lol
Oliver,
du behauptest also, dass ich immer nur auf Grundlagenfragen antworte? DAs
habe ich bisher nicht so gesehen:-)
Peter
Pascal,
da muss ich mal eine Grundsatzfrage stellen:-) Wie kann ich mir diese Links
anzeigen? Mit einem einfachen Klick geht es leider nicht.
Peter
die Leute, die hier regelmäßig Fragen beantworten, machen dies neben ihrem
eigentlichen Job und werden schließlich nicht dafür bezahlt, hier zu posten.
Ich glaube, dass es nicht sonderlich zu deren Motivation beiträgt, wenn sie
sich, nachdem sie zig Leuten weitergeholfen haben, anschließend auch noch
"zum Dank" anhören müssen, sie würden "nur Grundlagenfragen" beantworten.
Wenn Dir das Qualitätsniveau in dieser NG zu niedrig ist, vielleicht trägst
Du einfach mal selbst dazu bei, die Qualität der Antworten hier zu erhöhen,
anstatt darüber zu meckern - Dein Fragen/Antwortenverhältnis in dieser
Newsgroup prädestiniert Dich nicht unbedingt dazu, den ersten Stein zu
schmeißen, oder?
Davon ab: Es sind nunmal gerade die Einsteiger, die bei den ersten Problemen
wie der Ochs vor dem Berge stehen und ab einem bestimmten Zeitpunkt wirklich
nicht mehr wissen, wie sie sich weiterhelfen sollen. Erfahrene Entwickler
wissen schon eher, wie sie an Informationen kommen und können sich leichter
selber helfen. Den Beweis dafür hast Du doch gerade in Deinem eigenen
Posting geliefert (Windows-Hooks).
*Kopfschüttel*
Klaus
---
Visual Basic .NET - Das Entwicklerbuch
http://entwicklerbuch.ichbrauch.info
"oliver" <oli...@HeuteKeinSpam.de> schrieb im Newsbeitrag
news:%23fJKaPQ...@TK2MSFTNGP12.phx.gbl...
OK, OK, iss ja schon gut. Ich wollte niemanden beleidigen (das sehe dann
auch anders aus). Sorry, falls sich jemand doch angegriffen fühlt.
Ich selbst bin nicht so aktiv in NGs (sowohl Fragen als auch Antworten).
Mir ist nur folgendes aufgefallen:
1. Es gibt Grundlagenfragen, die dann umfangreich und fachlich kompetent in
mehrfacher Ausführung beantwortet werden. In denen aber die Verfasser der
Antworten sich auch gelegentlich gerne als die "Super Informatiker"
aufspielen, ohne zu bemerken, wie albern es ist, bei "wie wandel ich eine
String in einen Integer " einen auf "dicke Hose" zu machen.
2. Es gibt schwierige (aber leider nicht nach NG-Norm gestellt) Fragen, die
dann mit "Lern erstmal richtig posten" beantwortet werden.
3. Es gibt schwierige Fragen, die einfach ignoriert werden.
4. Es gibt Postings, die völlig ohne fachlichen Inhalt sind und die nur
beweisen, dass der Verfasser nicht in der Lage ist, sich wie ein erwachsener
Mensch zu verhalten (wie etwa mein jetzigesPosting).
5. Und sehr selten gibt es Postings, die zu einer guten und ergebnisreichen
Diskussion führen.
> Dein Fragen/Antwortenverhältnis in dieser
> Newsgroup prädestiniert Dich nicht unbedingt dazu, den ersten Stein zu
> schmeißen, oder?
Ich persönlich finde mein Fragen-/Antworten-Verhältis super:
- Ich habe eine Frage gestellt, auf die ich nette aber nicht sonderlich
hilfreicheAntworten erhalten habe. (Remoting Port)
- Ich habe eine Frage gestellt, die ich selbst beantwortet habe. (Win32
Hooks)
- Und ich habe auf eine Frage geantwortet. (mehrere PDFs drucken aka
Warteschleifen)
2 Fragen - 2 Antworten - macht unterm Strich eine Verhältnis von 1 zu 1! Ist
doch ganz OK ,oder?
> Davon ab: Es sind nunmal gerade die Einsteiger, die bei den ersten
Problemen
> wie der Ochs vor dem Berge stehen und ab einem bestimmten Zeitpunkt
wirklich
> nicht mehr wissen, wie sie sich weiterhelfen sollen.
Ich sagte doch: "Grundlagenfragen sind super".
Gruss
Oliver Oenbrink
vielleicht meinst Du ja so was in der Art:
//////
Dim bytes(0) As Byte
sByte="FF"
bytes(0) = Byte.Parse(sByte, Globalization.NumberStyles.HexNumber)
Dim bits As New BitArray(bytes)
//////
In dem BitArray stehen nun die einzelnen Bits als Boolean.
Gruss
Jörg
>"Lisa Ritola" <anon...@discussions.microsoft.com> schrieb im Newsbeitrag
news:273c101c46357$730887e0$a401...@phx.gbl...
Ich habe einfach die Thunderbird-Funktion "Copy Message Location" verwendet.
Du kannst aber http://groups.google.com/advanced_group_search aufrufen
und den Beitrag anhand der ID suchen (nach dem letzten "/").
Oder gleich so:
http://groups.google.com/groups?ie=UTF-8&as_umsgid=<msgid>
Also etwa:
http://groups.google.com/groups?ie=UTF-8&as_umsgid=199cd01c44d55%24b3c13880%24a40...@phx.gbl
http://groups.google.com/groups?ie=UTF-8&as_umsgid=1f14a01c45753%24e506b2a0%24a50...@phx.gbl
Wobei $ als %24 encoded wird.
Pascal,
Danke, wieder etwas dazugelernt:-) Es funktioniert so.
Peter
> 1. Es gibt Grundlagenfragen, die dann umfangreich und fachlich kompetent in
> mehrfacher Ausführung beantwortet werden. In denen aber die Verfasser der
> Antworten sich auch gelegentlich gerne als die "Super Informatiker"
> aufspielen, ohne zu bemerken, wie albern es ist, bei "wie wandel ich eine
> String in einen Integer " einen auf "dicke Hose" zu machen.
Hast du mal ein Beispiel?
Dass Fragen umfassend beantwortet werden find ich eigentlich nicht
schlimm; die große Anzahl gleicher Antworten liegt wohl an der langsamen
Aktualisierungszeit der verschiedenen Clients/Server.
> 2. Es gibt schwierige (aber leider nicht nach NG-Norm gestellt) Fragen, die
> dann mit "Lern erstmal richtig posten" beantwortet werden.
Also, dass z.B. der nicht-Realname bemängelt wurde ist mir aufgefallen,
aber das ist oft nur eine kleine Bemerkung unter der "Hyperblaster2345
schrieb:"-Zeile.
Bei anderen schweren Fragen ist der Post wirklich unzureichend, etwa:
"Ich schreibe a, b, c kompilieren - Fehler!!!1" - damit kann man nichts
anfangen...
> 3. Es gibt schwierige Fragen, die einfach ignoriert werden.
Ja, find ich auch schade. Aber "Sorry, ich hab keine Ahnung davon."
darauf zu antworten ist halt ein bisschen blöd :)
> 4. Es gibt Postings, die völlig ohne fachlichen Inhalt sind und die nur
> beweisen, dass der Verfasser nicht in der Lage ist, sich wie ein erwachsener
> Mensch zu verhalten (wie etwa mein jetzigesPosting).
Trolle gibts überall... aus ungeklärtem Grund halten sich die meisten
zwar im heise-Newsticker-Forum auf, aber einige posten frei rum...
> 5. Und sehr selten gibt es Postings, die zu einer guten und ergebnisreichen
> Diskussion führen.
Naja, die meisten Fragen sind ja auch eher von der Art "wie geht das?"
oder "wo ist mein Fehler?". Da gibts nicht viel zu diskutieren...
>>Dein Fragen/Antwortenverhältnis in dieser
>>Newsgroup prädestiniert Dich nicht unbedingt dazu, den ersten Stein zu
>>schmeißen, oder?
>
> Ich persönlich finde mein Fragen-/Antworten-Verhältis super:
[..]
> 2 Fragen - 2 Antworten - macht unterm Strich eine Verhältnis von 1 zu 1! Ist
> doch ganz OK ,oder?
Aber Kritik darf man erst ab 5:1 (Antworten/Fragen) üben :D