Programa para implementar la tabla de búsqueda ASCII

ASCII significa Código Estándar Estadounidense para el Intercambio de Información. Las computadoras solo pueden entender números, por lo que un código ASCII es la representación numérica de un carácter como ‘a’ o ‘@’ o una acción de algún tipo. La tabla de búsqueda ASCII es una representación tabular de los valores correspondientes asociados a un carácter, es decir, podemos buscar el ASCII octal, decimal, hexadecimal o HTML correspondiente de un carácter. 

Aquí, estamos implementando una tabla de búsqueda ASCII que toma un carácter como entrada y devuelve el valor octal, decimal, hexadecimal y HTML ASCII equivalente para el carácter. Esta tabla de búsqueda ASCII funciona para alfabetos, dígitos, operadores, separadores y símbolos especiales. 

Ejemplo:

Input character = @ 
Output : 
Octal value: 100         
Decimal value: 64
Hexadecimal value: 40
HTML value: @
  • Paso 1: Convierta el carácter dado en su ASCII equivalente en forma decimal. Esto se puede hacer encasillando implícitamente el carácter en un valor integral (o restando por nulo). 
  • Paso 2: El valor calculado en el paso 1 se convierte en la representación decimal del carácter. Convierta el valor decimal en formato octal y hexadecimal para obtener el ASCII del carácter de entrada en los formatos dados.
  • Paso 3: Agrega caracteres como prefijo y ; como posfijo del ASCII decimal, la expresión obtenida se convierte en el HTML ASCII del carácter dado. De esta manera podemos implementar fácilmente la tabla de búsqueda ASCII. Siga el código a continuación para ver la implementación. 

Implementación:

C++

// C++ implementation of ASCII lookup table
#include <iostream>
#include <string>
using namespace std;
 
// Function to convert decimal value to
// equivalent octal value
int Octal(int decimal)
{
    int octal = 0;
    string temp = "";
    while (decimal > 0) {
        int remainder = decimal % 8;
        temp = to_string(remainder) + temp;
        decimal /= 8;
    }
 
    for (int i = 0; i < temp.length(); i++)
        octal = (octal * 10) + (temp[i] - '0');
 
    return octal;
}
 
// Function to convert decimal value to
// equivalent hexadecimal value
string Hexadecimal(int decimal)
{
    string hex = "";
    while (decimal > 0) {
 
        int remainder = decimal % 16;
        if (remainder >= 0 && remainder <= 9)
            hex = to_string(remainder) + hex;
        else
            hex = (char)('A' + remainder % 10) + hex;
        decimal /= 16;
    }
    return hex;
}
 
// Function to convert decimal value to
// equivalent HTML value
string HTML(int decimal)
{
    string html = to_string(decimal);
    html = "" + html + ";";
    return html;
}
 
// ASCII lookup table
void ASCIIlookuptable(char ch)
{
    // Implicit typecasting converts the
    // character into it's equivalent ASCII
    int decimal = ch;
 
    cout << "Octal value: " << Octal(decimal) << endl;
    cout << "Decimal value: " << decimal << endl;
    cout << "Hexadecimal value: " << Hexadecimal(decimal) << endl;
    cout << "HTML value: " << HTML(decimal);
}
 
// Driver function
int main()
{
    char ch = '@';
    ASCIIlookuptable(ch);
    return 0;
}

Java

// Java implementation for ASCII table lookup
import java.util.*;
import java.lang.*;
 
class GeeksforGeeks {
 
    // Function to convert decimal value to
    // equivalent octal value
    static int Octal(int decimal)
    {
        int octal = 0;
        String temp = "";
        while (decimal > 0) {
            int remainder = decimal % 8;
            temp = remainder + temp;
            decimal /= 8;
        }
 
        for (int i = 0; i < temp.length(); i++)
            octal = (octal * 10) + (temp.charAt(i) - '0');
         
        return octal;
    }
 
    // Function to convert decimal value to
    // equivalent hexadecimal value
    static String Hexadecimal(int decimal)
    {
        String hex = "";
        while (decimal > 0) {
 
            int remainder = decimal % 16;
            if (remainder >= 0 && remainder <= 9)
                hex = remainder + hex;
            else
                hex = (char)('A' + remainder % 10) + hex;
            decimal /= 16;
        }
        return hex;
    }
 
    // Function to convert decimal value to
    // equivalent HTML value
    static String HTML(int decimal)
    {
        String html = "";
        html = html + decimal;
        html = "" + html + ";";
        return html;
    }
 
    // ASCII lookup table
    static void ASCIIlookuptable(char ch)
    {
        // Implicit typecasting converts the
        // character into it's equivalent ASCII
        int decimal = ch;
 
        System.out.println("Octal value: " + Octal(decimal));
        System.out.println("Decimal value: " + decimal);
        System.out.println("Hexadecimal value: " + Hexadecimal(decimal));
        System.out.println("HTML value: " + HTML(decimal));
    }
 
    // driver function
    public static void main(String args[])
    {
        char ch = '@';
        ASCIIlookuptable(ch);
    }
}

C#

// C# implementation for ASCII
// table lookup
using System;
 
class GeeksforGeeks {
 
    // Function to convert decimal value to
    // equivalent octal value
    static int Octal(int decima)
    {
        int octal = 0;
        String temp = "";
        while (decima > 0)
        {
            int remainder = decima % 8;
            temp = remainder + temp;
            decima /= 8;
        }
 
        for (int i = 0; i < temp.Length; i++)
            octal = (octal * 10) +
                    (temp[i] - '0');
         
        return octal;
    }
 
    // Function to convert decimal value
    //  to equivalent hexadecimal value
    static String Hexadecimal(int decima)
    {
        String hex = "";
        while (decima > 0)
        {
 
            int remainder = decima % 16;
            if (remainder >= 0 &&
                remainder <= 9)
                hex = remainder + hex;
            else
                hex = (char)('A' + remainder %
                                    10) + hex;
            decima /= 16;
        }
        return hex;
    }
 
    // Function to convert decimal
    // value to equivalent HTML value
    static String HTML(int decima)
    {
        String html = "";
        html = html + decima;
        html = "" + html + ";";
        return html;
    }
 
    // ASCII lookup table
    static void ASCIIlookuptable(char ch)
    {
         
        // Implicit typecasting converts the
        // character into it's equivalent ASCII
        int decima = ch;
 
        Console.WriteLine("Octal value: " +
                           Octal(decima));
        Console.WriteLine("Decimal value: " +
                           decima);
        Console.WriteLine("Hexadecimal value: " +
                           Hexadecimal(decima));
        Console.Write("HTML value: " +
                       HTML(decima));
    }
 
    // Driver Code
    public static void Main()
    {
        char ch = '@';
        ASCIIlookuptable(ch);
    }
}
 
// This code is contributed by nitin mittal.
Producción

Octal value: 100
Decimal value: 64
Hexadecimal value: 40
HTML value: &#64;

Complejidad de tiempo: O(log 8 (Decimal)) , ya que estamos usando un bucle y en cada recorrido estamos decrementando N por división de piso de 8.
Espacio auxiliar: O(log 8 (Decimal)), ya que estamos usando espacio extra por la respuesta

Publicación traducida automáticamente

Artículo escrito por parthendo y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *