Hello,

The Hexadecimal value of EBCDIC has to be converted to corresponding character as the user inputs it.

The following table shows the hexadecimal value of characters in ASCII and EBCDIC.
Can anybody help me with an efficient C-Algorithm for this conversion?

Char----Deci-------Hex.ASCII---Hex.EBCDIC
A ------65---------41------------- C1
B-------66---------42-------------C2
C-------67---------43-------------C3
D-------68 ---------44-------------C4
E-------69----------45-------------C5
F-------70----------46-------------C6

Thank you very much in advance.

Regards,
Sahana

You could write your hex-to-deci function, and then you can simply write char a = hex-to-deci-function(hex_num)

>Can anybody help me with an efficient C-Algorithm for this conversion?
printf directly supports printing characters, decimal, and hexadecimal, so that's easy. Converting between ASCII and EBCDIC is also easy and highly efficient if you use two conversion tables:

unsigned char ascii[] = {
  /* All characters in ASCII */
};

unsigned char ebcdic[] = {
  /* All characters in EBCDIC */
};

unsigned char to_ascii ( unsigned char c )
{
  return ascii[c];
}

unsigned char to_ebcdic ( unsigned char c )
{
  return ebcdic[c];
}

Thank you.

Regards,
Sahana

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.