Je ne suis pas sûr au sujet de certaines restrictions imposées par la Adruino plate-forme,
mais cela devrait aussi fonctionner sur n'importe quel compilateur standards.
charGetBitArrayAsByte(constchar inputArray[8]){char result =0;for(int idx =0; idx <8;++idx){
result |=(inputArray[7-idx]<< idx);}return result;}
Si le résultat est censé être B01100001, puis octet 0 est le MSB (most significant bit), pas d'octet 7 ...
char line[8]={0,1,1,0,0,0,0,1};unsignedchar b =0;for(int ii =0; ii <8; ii++){
b <<=1;
b |= line[ii];}
Autres réponses que j'ai vu, si je lis correctement, mettez l'ESM sur l'octet 7.
EDIT: Fixe citations; miscopied avant.
Avez-vous fait essayer le code? Cette réponse ne fonctionne pas parce que vous avez cité les chiffres ('0' n'est pas la même chose que 0). Et le sous-index 7 est la 8ème élément dans la liste en C et C langages dérivés, car les tableaux commencent à l'élément zéro, pas d'élément. Merci pour les citations; pour quelque raison que quand j'ai copié de mon éditeur auparavant (pas de copier/coller, mais de le retaper) je ne savais pas que j'ai cité les valeurs; la force de l'habitude de citer tout le temps. Comme pour les tableaux commencent à zéro - oui, si vous lisez ce que j'ai mis, j'ai dit "octet 0" et "octet 7"; je n'ai pas l'habitude de référence de mon tableau positions 1, "octet 7" est en fait le huitième caractère dans le tableau.
Je ne suis pas sûr au sujet de certaines restrictions imposées par la Adruino plate-forme,
mais cela devrait aussi fonctionner sur n'importe quel compilateur standards.
Un test de ce code est maintenant sur Codepad, si c'
aide.
Codepad
lien! +1OriginalL'auteur Billy ONeal
Seulement 0 ou 1 à sa position dans le format binaire. Comme ce
OriginalL'auteur DReJ
OriginalL'auteur Nikolai Fetissov
Si vous savez que les valeurs de votre tableau de caractères sera toujours 1 ou 0:
OriginalL'auteur Zac Howland
Si le résultat est censé être
B01100001
, puis octet 0 est le MSB (most significant bit), pas d'octet 7 ...Autres réponses que j'ai vu, si je lis correctement, mettez l'ESM sur l'octet 7.
EDIT: Fixe citations; miscopied avant.
Merci pour les citations; pour quelque raison que quand j'ai copié de mon éditeur auparavant (pas de copier/coller, mais de le retaper) je ne savais pas que j'ai cité les valeurs; la force de l'habitude de citer tout le temps. Comme pour les tableaux commencent à zéro - oui, si vous lisez ce que j'ai mis, j'ai dit "octet 0" et "octet 7"; je n'ai pas l'habitude de référence de mon tableau positions 1, "octet 7" est en fait le huitième caractère dans le tableau.
OriginalL'auteur Will