1 Byte in 8 bIt zerlegen ?

Für allgemeine Fragen zur Programmierung mit PureBasic.
funkheld
Beiträge: 651
Registriert: 31.12.2009 11:58

1 Byte in 8 bIt zerlegen ?

Beitrag von funkheld »

Hallo, guten Tag.

Wie kann man bitte ein Byte in 8 Bit zerlegen nu rmit +, - und mod ?

Danke.

Gruss
Benutzeravatar
NicknameFJ
Beiträge: 324
Registriert: 03.06.2007 14:36
Wohnort: Von der Sonne aus gesehen der dritte Planet

Re: 1 Byte in 8 bIt zerlegen ?

Beitrag von NicknameFJ »

Ich verstehe überhaupt nicht was du meinst.

Kannst Du das bitte mal genauer beschreiben was du machen willst?
PS: Alle im Text enthaltenen Schreibfehler sind beabsichtigt und dienen der Belustigung aller

Bild
BSP
Beiträge: 201
Registriert: 01.02.2009 14:04

Re: 1 Byte in 8 bIt zerlegen ?

Beitrag von BSP »

Debug RSet(Bin(6),8,"0")
PB 5.31 (x86) & (x64) Win10
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8820
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: 1 Byte in 8 bIt zerlegen ?

Beitrag von NicTheQuick »

Hier eine Variante mit mod und div:

Code: Alles auswählen

byte.a = 170

For i = 0 To 7
	bit = byte % 2
	Debug "Bit " + i + ": " + bit
	byte / 2
Next
Wenn du aber nur mod, + und - verwenden willst, musst du erst mal Div nachbauen. Das geht zwar, aber dazu hab ich kein Bock. ;)
matbal
Beiträge: 261
Registriert: 30.03.2011 20:53

Re: 1 Byte in 8 bIt zerlegen ?

Beitrag von matbal »

Ist das eine Denksportaufgabe?

Hier eine andere Version in zwei Varianten. Sie benötigen die einzelnen Bit-Werte, und die Zerlegung beginnt beim höchstwertigen Bit.

Code: Alles auswählen

byte.a = %10011100

Debug Bool(byte >= 128)

byte % 128
Debug Bool(byte >= 64)

byte % 64
Debug Bool(byte >= 32)

byte % 32
Debug Bool(byte >= 16)

byte % 16
Debug Bool(byte >= 8)

byte % 8
Debug Bool(byte >= 4)

byte % 4
Debug Bool(byte >= 2)

byte % 2
Debug Bool(byte >= 1 )
Hier mit vorher generierter Bit-Wert-Tabelle (auch nur mit +)

Code: Alles auswählen

Dim Bit(7)
Bit(0) = 1
For i = 0 To 6
   Bit(i+1) = Bit(i) + Bit(i)
Next i

byte.a = %10011100

For i = 7 To 0 Step -1
   Debug Bool(byte >= Bit(i))
   byte % Bit(i)
Next i
funkheld
Beiträge: 651
Registriert: 31.12.2009 11:58

Re: 1 Byte in 8 bIt zerlegen ?

Beitrag von funkheld »

Ja danke für die verschiedenen Möglichkeiten.

Gruss
Antworten