Puede alguien explicar por qué hacer una U operación de un número binario con 0x0030 como operando produce el carácter ASCII de ese número?

  • Entiendo por qué restar 0x0030 obras.
InformationsquelleAutor Zzz | 2012-10-15

3 Comentarios

  1. 4

    Ya que buscando en la tabla ASCII, los dígitos del 0 al nueve en 0x30. Por lo tanto el valor ASCII para el carácter 1? 0x30 o 0x01 = 0x31 = valor ASCII para el número 1.

    In binary it's easy to see:
    
    (0x30)   110000
    or
    (0x01)   000001
    =        110001
    
    Which is 0x31 - ASCII value of 1.
    

    La conversión de números a ASCII en la asamblea

    • Así que esto solo funciona para los de 0 a 9
    • Bueno, ciertamente lo que tiene más sentido en el contexto de la conversión de la señal de números de un dígito en el equivalente en ASCII valor.
  2. 1

    Si te refieres a los números 0 a 9, la razón es que 0x30 (48) es el código ASCII del número 0. Desde 48 sólo requiere de bits en la mayor (a la izquierda) lado de un byte, ORing con cualquier número menor de 16 años (menores de bits) es el mismo que matemáticamente la adición de los números.

    Así 0x30 O 0x01 dará 0x31, el código ASCII del carácter ‘1’, y así sucesivamente.

  3. 1

    Vistazo a la representación binaria de un solo dígito: por ejemplo, 2d = 00000010b. Aplicar una operación con 0x30 (00110000b de la misma. Esto se traduce en 00110010b que es 0x32, o 50d que es el ASCII código ‘2’. Efectivamente, en este caso (ya que no hay ningún lleva a considerar) el O la operación es igual a la adición de 0x30.

Dejar respuesta

Please enter your comment!
Please enter your name here