Tema del plan 2

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

//La función de esta función es calcular los dos bytes inferiores de un número entero de acuerdo con el requisitos de la pregunta El número del complemento de mayor a menor.

int binario(int alto, int bajo, int número){

int bit count = 0 //El número de dígitos de mayor a menor

int datos = 0;

int medio = 0;

char p[2]= { 0 }; i++){

medio = medio & lt& lt1;

if (i& lt=(15-bajo)& amp& ampi& gt=(15-alto))medio+ = 1; /p>

}

//Extrae dígitos de mayor a menor* *alto-bajo+1 del número y guárdalos en el número.

Número = número y ampmid

//Saque el byte más bajo del número y colóquelo en p[0] para su posterior cálculo.

p[0]=número & amp0xFF

//Saca el penúltimo byte del número y colócalo en p[1] para su posterior cálculo.

p[1]=(número>>8)&0xFF

printf( "\n%d %d ", (int)p[1], (int)p [0]);

//Calcule el número de dígitos de este número y póngalo en bitcount.

bitcount=(alto y bajo)+1;

printf( "\n%d ", recuento de bits

//Si el orden alto); es menor que 8, entonces todos los bits del número están en p[0].

if(alto<8)

{

datos = p[0]>>low;

}

else if(low & gt; 7) //Si el orden inferior es mayor que 7, entonces todos los bits del número están en p[1].

{

datos = p[1]>>(low-8);

}

Otros

p>

{

datos = p[1]<<(8-low);

datos+=(p[0]>>low );

}

//Si el número es negativo, el código original se calcula según el principio de "código complementario = código complementario del código original + 1".

if(1 = =(datos & gt;& gt(cuenta de bits-1)))

{

datos = datos & lt& lt(17 recuento de bits);

datos = datos & amp0xFFFF

datos = datos & gt& gt(recuento de 17 bits);

datos = datos-1;

p>

datos = datos & lt& lt(recuento de 17 bits);

datos = ~datos

datos = datos & amp0xFFFF

datos = datos & gt& gt(recuento de 17 bits);

Datos = 0-datos;

}

Devolver datos;

}

int main()

{

int alto = 0

int bajo = 0;

int número = 0;

int datos;

printf("\nPor favor, introduzca un número.

\ n ");

//Ingrese cualquier número entero como un número en la memoria.

scanf("%d ", & amp number);

/ /Envíe el número justo ahora a la pantalla en formato hexadecimal

printf("\nEl número es 0x%x", número);

//El usuario ingresa el alto. y dígitos bajos, los dígitos altos están separados por un espacio no mayor a 15 y los dígitos bajos no son menores a 0.

printf("\nIngrese los valores alto y bajo (16> high>low&. gt=0):");

scanf("%d %d ",&high&low);

//El bit alto debe ser mayor que el bit bajo.

if(alto<=bajo)

{

printf(" Error ");

return-1;

}

//Función de conversión de llamadas

Datos = binario (alto, bajo, número);

//Función de conversión de salida

printf("\ndata:%d\n ",datos);

}