· Miler Roque · C++  · 1 min lectura

C++ – ¿Cómo ocultar 2 caracteres en un número entero?

Ejemplo sobre cómo ocultar 2 caracteres en un número entero usando el lenguaje de programación c++ y el programa Zinjal.

Ejemplo sobre cómo ocultar 2 caracteres en un número entero usando el lenguaje de programación c++ y el programa Zinjal.

Descripción

Este es un ejemplo de programación con el lenguale de programación c++ para ocultar 2 caracteres en un número entero utilizando máscaras y bits con el programa Zinjal.

Código

#include <iostream>
using namespace std;
void ingresoDatos(unsigned char &a, unsigned char &b);
void empcaCaracteres(unsigned char a,unsigned char b);
void imprimirChar(unsigned char n);
void imprimeBits(unsigned int n);

int main(int argc, char *argv[]) {
  unsigned char a,b;
  ingresoDatos(a,b);
  empcaCaracteres(a,b);
  return 0;
}

void ingresoDatos(unsigned char &a, unsigned char &b){
  cout<<"Ingrese primer caracter: ";
  cin>>a;
  cout<<"Ingrese segundo caracter: ";
  cin>>b;
}

void empcaCaracteres(unsigned char a,unsigned char b){
  cout<<"Caracter 1 en bits: ";
  imprimirChar(a);
  cout<<"\nCaracter 2 en bits: ";
  imprimirChar(b);
  unsigned int n=0x0;
  n=((a|n)<<8)|b;
  cout<<"\nCaracteres empacados en un entero: "<<n<<endl;
  imprimeBits(n);
}

void imprimirChar(unsigned char n){
  unsigned char mask= 0x80;
  for(int i=1;i<=8;i++){
    if((n&mask)>0){
      cout<<1;
    }else{
      cout<<0;
    }
    mask=mask>>1;
    if(i%4==0)cout<<" ";
  }
}

void imprimeBits(unsigned int n){
  unsigned int mask= 0x8000;
  for(int i=1;i<=16;i++){
    if((n&mask)>0){
      cout<<1;
    }else{
      cout<<0;
    }
    mask=mask>>1;
    if(i%4==0)cout<<" ";
  }
}
Compartir:
Volver al blog

Posts relacionados

Ver todos »