Bascom Binäre Daten zusammensetzen

Gast #3107349
Hallo,

ich suche nach einer Möglichkeit mit Bascom aus 8 einzelnen 
Bit-Variablen eine Dezimalzahl zu erzeugen.

Z.B. Habe ich hier 8 Variablen A,B,C,D,E,F,G,H

A=1
B=0
C=0
D=0
E=1
F=1
G=0
H=0

Diese müsste ich zu einer Binärzahl zusammensetzen, damit ich diese dann 
mit Binval etc. in eine Dezimalzahl umwandeln kann. Bei diesem Beispiel 
wäre das Binär: 10001100 und entsprechend 140 in Dezimal.
#3107553
> ich suche nach einer Möglichkeit mit Bascom aus 8
> einzelnen Bit-Variablen eine Dezimalzahl zu erzeugen.

Man kann auch mal in die Gegenrichtung überlegen und sich mal fragen ob 
und warum diese 8 Variablen Bit-Variablen sein müssen bzw. ob es nicht 
einfacher wäre von Haus gleich eine Byte-Variable dafür zu benutzen.
Gast #3107669
Die Methode von pff funktioniert. Danke!

@KarlHeinz: Das sind 8 einzelne Statusbits. Und die Zusammen sollen 
einen Dezimalen (Error) Code ergeben. Den kann man dann gut in einem 
Display anzeigen lassen und dann vom Benutzer auswerten. Wenn ich da 
jetzt einfach bloß eine Zahlenfolge von 1en und 0en sehe kann da ein 
unerfahrener Benutzer wenig mit Anfangen.
Gast #3146700
Hallo,

ich hatte das selbe Problem, nämlich für einen gesamten Eingangsport mit 
8 Pins einen Gesamt-Wert geliefert zu bekommen zwischen 0 und 255.

Eure Lösung habe ich nicht kapiert, aber so ging es:

dim A ... H as Byte
dim C_gesamt as Byte

'Der gesamte Port C soll zu einem Byte zusammengefaßt werden
               A = pinc.0
               B = pinc.1 * 2
               C = pinc.2 * 4
               D = pinc.3 * 8
               E = pinc.5 * 16
               F = pinc.6 * 32
               G = pinc.7 * 64
               H = pinc.4 * 128
'leider kann man nicht A+B+C+D+E+F+G+H auf einmal addieren.
               C_gesamt = A + B
               C_gesamt = C_gesamt + C
               C_gesamt = C_gesamt + D
               C_gesamt = C_gesamt + E
               C_gesamt = C_gesamt + F
               C_gesamt = C_gesamt + G
               C_gesamt = C_gesamt + H
               Print "Port-Eingang C gesamt" ; C_gesamt

Gruß Tilmann
Gast #3146809
Idi schrieb:
> ubuntu schrieb:
>> warum man sich bascom antut...
>
> tut man wenn es nicht unbedingt und unvermeidlich C sein muß.

das muss nun wirklich nicht sein, es gibt bei weitem leistungsfähigere 
Alternativen zu Bascom. man muss also nicht zwangsweise C nehmen wenn 
man es nicht mag.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.