Au Niveau Du Bit De Concaténation

J'ai le texte suivant:

char *pointer = decimal_to_binary(192) //yields 11000000
char *pointer2 = decimal_to_binary(168) //yields 10101000

Je suis en train de concat en:

1100000010101000

J'ai été référencement: Concaténer des nombres binaires de différentes longueurs et je suis actuellement en utilisant:

unsigned long pointer3 = (*pointer << 16) | *pointer2;

qui donne à la sortie:

1100010000000000110001

Ce que je fais mal?

  • considérant 32 grande machine, avez-vous essayé (*pointer << 32) | *pointer2
  • Êtes-vous sûr qu'il y a le dernier 0 sur le résultat que vous voulez? Si tout ce que vous voulez, c'est la concaténation de deux pointeurs, il semble que le dernier 0 est dans l'excès...
  • Fixe. merci Claudio.
  • Votre code n'a même pas compiler
  • Je pense que la question est un peu déroutant... avez-vous envie de concaténer une chaîne de caractères qui représente le nombre binaire ou les bits d'eux-mêmes (un entier)? Le titre de "bit-à-bit de concaténation" m'a fait penser que tu voulais l'opération sur un certain nombre et vous avez juste eu quelques erreurs de syntaxe, mais après @JonathanLeffler réponse je soupçonne que vous voulez juste concaténer des chaînes de caractères représentant les nombres binaires... Quel est le vrai but?
InformationsquelleAutor John Smith | 2013-04-18