mikrocontroller.net

Forum: PC-Programmierung Simple Frage, Byte in Bit zerlegen, php


Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich komme leider nicht mehr auf den Gedanken und bin nicht fündig 
geworden.
Ich habe ein Zahl zB 16 und möchte damit 4 Zustände darstellen.
Bekomme also den wert 16 und dann sollen 4 relais geschaltet werden
1
1
1
1

Ich weiß nur noch, dass man das durch 2 geteilt hat

Ich denke ihr wisst was gemeint ist. Ich möchte das in einem php-Skript 
verwenden

Vielen Dank für einen Denkanstoß

Autor: Christophe J. (chj)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie löst man das denn händisch?

Autor: foo (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
$zahl = 16;
$bit0 = $zahl & 1;
$bit1 = $zahl & 2;
$bit2 = $zahl & 4;
$bit3 = $zahl & 8;

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

super vielen Dank!! Das wars :)

Autor: Daniel F. (df311)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tom schrieb:
> Bekomme also den wert 16 und dann sollen 4 relais geschaltet werden
> 1
> 1
> 1
> 1

foo schrieb:
> $zahl = 16;
> $bit0 = $zahl & 1;
> $bit1 = $zahl & 2;
> $bit2 = $zahl & 4;
> $bit3 = $zahl & 8;

ein Byte wird mit zwei Hex-Ziffern dargestellt. 16 in Hex ist 0x10, von 
daher kann das Beispiel oben nicht funktionieren (zumindest nach der 
Anforderung), da bei sechten die Bits 0 bis 4 gleich 0 sind. Mit 15 
gehts aber (und kann alle 16 Zustände darstellen - alles aus bis alles 
ein)

Autor: Peter II (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
foo schrieb:
> $zahl = 16;
> $bit0 = $zahl & 1;
> $bit1 = $zahl & 2;
> $bit2 = $zahl & 4;
> $bit3 = $zahl & 8;

wobei 16 nicht gerade ein gutes Beispiel ist. Da sind die extrahierten 
Bits alle 0

Autor: foo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel F. schrieb:
> 16 in Hex ist 0x10, von
> daher kann das Beispiel oben nicht funktionieren

Peter II schrieb:
> wobei 16 nicht gerade ein gutes Beispiel ist. Da sind die extrahierten
> Bits alle 0

Na ein klein wenig Nachdenken wollte ich dem OP schon noch übrig lassen.
Nur vorkauen bringt ihm selbst ja auch nix, oder?

Autor: Der Andere (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel F. schrieb:
> da bei sechten die Bits 0 bis 4 gleich 0 sind.

bei sechzehn die Bite 0 bis 3 gleich 0 sind

Autor: Huh (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Der Andere schrieb:
> die Bite 0 bis 3

die Bits

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.