fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. // Función para invertir los bits de un número de 16 bits
  5. unsigned short int reverseBits(unsigned short int num) {
  6. unsigned short int reversed = 0;
  7. for (int i = 0; i < 16; i++) {
  8. reversed <<= 1; // Desplazar el resultado a la izquierda
  9. reversed |= (num & 1); // Agregar el bit menos significativo de num
  10. num >>= 1; // Desplazar num a la derecha
  11. }
  12. return reversed;
  13. }
  14.  
  15. int main() {
  16. unsigned short int num;
  17. cout << "Ingrese un número (0-65535): ";
  18. cin >> num;
  19.  
  20. // Invertir los bits del número
  21. unsigned short int reversed = reverseBits(num);
  22.  
  23. // Comparar el número original con el número invertido
  24. if (num == reversed) {
  25. cout << num << " es un palíndromo a nivel de bits." << endl;
  26. } else {
  27. cout << num << " no es un palíndromo a nivel de bits." << endl;
  28. }
  29.  
  30. return 0;
  31. }
Success #stdin #stdout 0s 5284KB
stdin
Standard input is empty
stdout
Ingrese un número (0-65535): 0 es un palíndromo a nivel de bits.