2018-Novena Competición Provincial Individual de la Copa Blue Bridge (Software) Universidad Zhenti C Grupo B 2. Código claro

Código claro

Los glifos de los caracteres chinos existen en la biblioteca de fuentes. Incluso hoy en día, la biblioteca de fuentes de 16 puntos todavía se usa ampliamente.
La biblioteca de fuentes de 16 puntos considera cada carácter chino como información de 16x16 píxeles. Y registre esta información en bytes.
Un byte puede almacenar 8 bits de información y 32 bytes pueden almacenar la forma de un carácter chino.
Convierta cada byte en representación binaria, 1 significa tinta, 0 significa color de fondo. Cada línea tiene 2 bytes, un
total de 16 líneas, el diseño es:

1er byte, 2do byte
3er byte, 4to byte
...
31er byte, 32nd byte

Esta pregunta es para darle una pieza de información compuesta de varios caracteres chinos. Cada carácter chino está representado por 32 bytes. El valor del byte como un entero con signo se da aquí.

Los requisitos de la asignatura están ocultos en esta información. Su tarea es restaurar los glifos de estos caracteres chinos, ver los requisitos de las preguntas de ellos y completar las respuestas de acuerdo con los requisitos.

Esta información es (un total de 10 caracteres chinos):

4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0 
16 64 16 64 34 68 127 126 66 -124 67 4 66 4 66 -124 126 100 66 36 66 4 66 4 66 4 126 4 66 40 0 16 
4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0 
0 -128 64 -128 48 -128 17 8 1 -4 2 8 8 80 16 64 32 64 -32 64 32 -96 32 -96 33 16 34 8 36 14 40 4 
4 0 3 0 1 0 0 4 -1 -2 4 0 4 16 7 -8 4 16 4 16 4 16 8 16 8 16 16 16 32 -96 64 64 
16 64 20 72 62 -4 73 32 5 16 1 0 63 -8 1 0 -1 -2 0 64 0 80 63 -8 8 64 4 64 1 64 0 -128 
0 16 63 -8 1 0 1 0 1 0 1 4 -1 -2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 5 0 2 0 
2 0 2 0 7 -16 8 32 24 64 37 -128 2 -128 12 -128 113 -4 2 8 12 16 18 32 33 -64 1 0 14 0 112 0 
1 0 1 0 1 0 9 32 9 16 17 12 17 4 33 16 65 16 1 32 1 64 0 -128 1 0 2 0 12 0 112 0 
0 0 0 0 7 -16 24 24 48 12 56 12 0 56 0 -32 0 -64 0 -128 0 0 0 0 1 -128 3 -64 1 -128 0 0

Nota: Lo que debe enviarse es un número entero, no complete ningún contenido adicional.

Análisis: Necesitamos dominar las reglas para convertir enteros con signo en números binarios de 8 bits:

  • numero positivo:
  • Resto clásico, orden inverso, complemento de bits alto 0 para obtener el código original de ocho bits (igual a su complemento y código inverso) (el bit más alto es 0, que representa un signo positivo)
  • numero negativo:
  • Toma el valor absoluto primero
  • Código original de 8 bits de valor absoluto
  • Invertir todos los dígitos para obtener el complemento a uno (0 se convierte en 1, 1 se convierte en 0)
  • Agregue uno al complemento para obtener el código binario de ocho bits de un número negativo (cada binario ingresa uno) (el bit más alto es 1, que representa un signo negativo)
#include<bits/stdc++.h>//万能头文件
using namespace std;
void shift(int n){
    
    
	int bit[9],flag=0;
	if(n<0){
    
    
		flag=1;
		n=-n;
	}//取绝对值
	for(int i=7;i>=0;i--){
    
    
		bit[i]=n%2;
		n/=2;//实现取余并倒序
	}
	if(flag){
    
    
		for(int i=7;i>=0;i--){
    
    
			if(bit[i]==1)
				bit[i]=0;
			else
				bit[i]=1;
		}//得反码
		bit[7]++;//加一取补码
		for(int i=7;i>=0;i--){
    
    
			if(bit[i]==2){
    
    //进位
				bit[i]=0;
				bit[i-1]++;
			}
		}
	}
	for(int i=0;i<8;i++){
    
    
		if(bit[i]==0)
			cout<<' ';
		else
			cout<<'*';
	}
}
int main(){
    
    
	int n=10;
	while(n--){
    
    
		for(int i=0;i<16;i++){
    
    
			int a,b;
			cin>>a;
			shift(a);
			cin>>b;
			shift(b);//一行一个汉字,对应32字节
			cout<<endl;//每两个数字出现一次换行,从上到下构建汉字
		}
		cout<<endl;//汉字上下有一定间隔,输出美观
	}
	return 0;
}

Producción:

4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0 16 64 16 64 34 68 127 126 66 -124 67 4 66 4 66 -124 126 100 66 36 66 4 66 4 66 4 126 4 66 40 0 16 4 0 4 0 4 0 4 32 -1 -16 4 32 4 32 4 32 4 32 4 32 8 32 8 32 16 34 16 34 32 30 -64 0 0 -128 64 -128 48 -128 17 8 1 -4 2 8 8 80 16 64 32 64 -32 64 32 -96 32 -96 33 16 34 8 36 14 40 4 4 0 3 0 1 0 0 4 -1 -2 4 0 4 16 7 -8 4 16 4 16 4 16 8 16 8 16 16 16 32 -96 64 64 16 64 20 72 62 -4 73 32 5 16 1 0 63 -8 1 0 -1 -2 0 64 0 80 63 -8 8 64 4 64 1 64 0 -128 0 16 63 -8 1 0 1 0 1 0 1 4 -1 -2 1 0 1 0 1 0 1 0 1 0 1 0 1 0 5 0 2 0 2 0 2 0 7 -16 8 32 24 64 37 -128 2 -128 12 -128 113 -4 2 8 12 16 18 32 33 -64 1 0 14 0 112 0 1 0 1 0 1 0 9 32 9 16 17 12 17 4 33 16 65 16 1 32 1 64 0 -128 1 0 2 0 12 0 112 0 0 0 0 0 7 -16 24 24 48 12 56 12 0 56 0 -32 0 -64 0 -128 0 0 0 0 1 -128 3 -64 1 -128 0 0
     *
     *
     *
     *    *
************
     *    *
     *    *
     *    *
     *    *
     *    *
    *     *
    *     *
   *      *   *
   *      *   *
  *        ****
**

   *     *
   *     *
  *   *  *   *
 ******* ******
 *    * *    *
 *    **     *
 *    *      *
 *    * *    *
 ******  **  *
 *    *   *  *
 *    *      *
 *    *      *
 *    *      *
 ******      *
 *    *   * *
           *

     *
     *
     *
     *    *
************
     *    *
     *    *
     *    *
     *    *
     *    *
    *     *
    *     *
   *      *   *
   *      *   *
  *        ****
**

        *
 *      *
  **    *
   *   *    *
       *******
      *     *
    *    * *
   *     *
  *      *
***      *
  *     * *
  *     * *
  *    *   *
  *   *     *
  *  *      ***
  * *        *

     *
      **
       *
             *
***************
     *
     *     *
     ********
     *     *
     *     *
     *     *
    *      *
    *      *
   *       *
  *     * *
 *       *

   *     *
   * *   *  *
  ***** ******
 *  *  *  *
     * *   *
       *
  ***********
       *
***************
         *
         * *
  ***********
    *    *
     *   *
       * *
        *

           *
  ***********
       *
       *
       *
       *     *
***************
       *
       *
       *
       *
       *
       *
       *
     * *
      *

      *
      *
     *******
    *     *
   **    *
  *  * **
      * *
    **  *
 ***   *******
      *     *
    **     *
   *  *   *
  *    ***
       *
    ***
 ***

       *
       *
       *
    *  *  *
    *  *   *
   *   *    **
   *   *     *
  *    *   *
 *     *   *
       *  *
       * *
        *
       *
      *
    **
 ***



     *******
   **      **
  **        **
  ***       **
          ***
        ***
        **
        *


       **
      ****
       **

Finalmente, puede obtener la respuesta según sea necesario.

Supongo que te gusta

Origin blog.csdn.net/interestingddd/article/details/114444523
Recomendado
Clasificación