· 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.
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<<" ";
}
}