Re: Bitoperation Kategorie: Programmierung Basic (von DL1ASL - 27.01.2017 19:17) | |
| |
Hallo liebe User ! Habe nachfolgend ein Programm ,das jeden nützlich sein könnte. /* Autor : DL1ASL , Klaus Titel : Wert von Bit 1 erkennen kann 0 oder 1 sein Verwendung für Bitschiebeoperationen C-C Pro : 32 V.1.0 : 23.01.2017 */ #define LF 0x0A Sub main() Dim i , x As Integer 'i= For x=Wert nach Vergleich Dim c As Integer 'c= Dezimal Wert eines ASCII-Zeichen Dim num(8) As Char 'Array für num 'rs232 ---------------------------------------------------- Serial_Init(0,SR_8BIT Or SR_1STOP Or SR_NO_PAR,SR_BD9600) 'Init RS232: 9600 bps , 8 Bit, 1 Stop, NP '---------------------------------------------------------- Do While True c = 65 'A als Beispiel '-- Serial_Write... Werte an COM ausgeben Serial_WriteText(0,"c hex=") Str_WriteWord(c,16,num,0,2) ' 10=dez 16= Hex Serial_WriteText(0,num) For i = 1 To 8 Serial_WriteText(0,"Bit ") Serial_Write(0,i+48) x = c And 0x01 If x = 1 Then Serial_WriteText(0," x = 1 ") Else Serial_WriteText(0," x = 0 ") End If c = c >> 1 'siehe Bitschiebeoperatoren ' >> um ein Bit nach rechts schieben Serial_WriteText(0,"c hex=") Str_WriteWord(c,16,num,0,2) ' 10=dez 16= Hex Serial_WriteText(0,num) AbsDelay(1000) Next Serial_Write(0,LF) AbsDelay(1000) End While End Sub ' -- Ende Main ---------------- /* "A" Binär = 0100 0001 Bit 8=0 >| |< Bit 1=1 'Ergebnis c dez=65 , hex=41 Bit 1 x = 1 c hex=20 Bit 2 x = 0 c hex=10 Bit 3 x = 0 c hex=08 Bit 4 x = 0 c hex=04 Bit 5 x = 0 c hex=02 Bit 6 x = 0 c hex=01 Bit 7 x = 1 c hex=00 Bit 8 x = 0 c hex=00 */ Viel Erfolg damit. | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum