nodo-domotica.nl

Code technische uitleg gevraagd

Hier alles over software in combinatie met de Nodo

Code technische uitleg gevraagd

Berichtdoor rtenklooster » 10 jan 2015, 22:43

Heren,
Ik gebruik het wel, ik zie het veel voorbij komen maar wie o wie kan me de technische uitleg geven van een code als dit:
Code: Selecteer alles
event->Par2 = 123456789;
jan =    event->Par2 >> 30)& 0xff;
klaas  = event->Par2 >> 20)& 0xff;
piet =    event->Par2 >> 10)& 0xff;


a) >> XX doet iets als het selecteren vasn een deel van par2. Wat en hoe werkt dit?
b) & 0xff; je maakt er een hexadecimaal getal van ofzo? Hoe werkt dit?

zou me helpen de code beter te begrijpen, normaal google ik, maar als ik google op c >> arduino function >> etc kom ik er niet uit.

En als je dan toch zover bent, misschien kan dit er ook nog bij:
Ik heb een sensor ID: 15927270
Die moet doorgestuurd worden in 3 groepjes van 6 bit, kan dit?
Dus omgezet in:
0x00
0x00
0x00
Hoe zouden jullie dat aanpakken? Inhoudelijk maakt het me niet uit of het hele getal over komt, maar ik wil niet dat twee verschillende id's hetzelfde eindresultaat geven.

Bij voorbaat dank.
Laatst bijgewerkt door rtenklooster op 10 jan 2015, 23:07, in totaal 1 keer bewerkt.
rtenklooster
 
Berichten: 377
Geregistreerd: 04 aug 2012, 12:10
Woonplaats: Aduard

Re: Code technische uitleg gevraagd

Berichtdoor Voyager » 10 jan 2015, 23:06

>> x is een bitwise shift naar rechts.. En die doe je x maal..
Heb je bv een waarde 8 dan is dit binair 1000
8 >> 1 Word dan dus in binair
1000 >> 1 = 0100
Alle bitjes schuiven 1 naar rechts. Dit doe je vaak om bitjes te isoleren zodat je ze afzonderlijk kan gebruiken..
Bij een byte waarde in hex van bv 0xF0 (binair 11110000) en een operatie 0xF0 >> 4 schuif je de bitjes 4 keer naar rechts..
11110000 word dan 00001111 wat hexadecimaal 0x0F is

Je hebt ook naar links en andere botwise operaties.
Wellicht de windows caclulator pakken en op programmeren mode zetten..
Daar kan je met bitjes schuiven..
Voyager
 
Berichten: 180
Geregistreerd: 23 okt 2014, 14:26

Re: Code technische uitleg gevraagd

Berichtdoor rtenklooster » 10 jan 2015, 23:10

Voyager schreef:>> x is een bitwise shift naar rechts.. En die doe je x maal..
Heb je bv een waarde 8 dan is dit binair 1000
8 >> 1 Word dan dus in binair
1000 >> 1 = 0100
Alle bitjes schuiven 1 naar rechts. Dit doe je vaak om bitjes te isoleren zodat je ze afzonderlijk kan gebruiken..
Bij een byte waarde in hex van bv 0xF0 (binair 11110000) en een operatie 0xF0 >> 4 schuif je de bitjes 4 keer naar rechts..
11110000 word dan 00001111 wat hexadecimaal 0x0F is

Je hebt ook naar links en andere botwise operaties.
Wellicht de windows caclulator pakken en op programmeren mode zetten..
Daar kan je met bitjes schuiven..

Helder William, dankje! Is wel hogere programmeer kunde dit..van een decimaal getal, naar binair, naar hex.
Ik ga het proberen te begrijpen.
rtenklooster
 
Berichten: 377
Geregistreerd: 04 aug 2012, 12:10
Woonplaats: Aduard


Keer terug naar Overige software Nodo

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers. en 1 gast