Array of hex values to a long string?

My approach would be the following:

byte buff[8];
char myArray[sizeof(buff)*2];
byte x;

void setup()
{
  Serial.begin(9600);
  buff[0] = 0x12;
  buff[1] = 0x34;
  buff[2] = 0x56;
  buff[3] = 0x78;
  buff[4] = 0x90;
  buff[5] = 0x12;
  buff[6] = 0x30;
  buff[7] = 0xAB;
  //----------------
  hexToAscii();
  myArray[sizeof(buff)*2] = 0x00;  //null-byte
  Serial.print(myArray);      //output: 12345678901230AB
}

void loop()
{

}

void hexToAscii()
{
  for (int i = 0, j = 0; i < 8, j < 16; i++, j++)
  {
    x = buff[i];  //x = 12
    x = x >> 4;   // x= 01
    if ((x >= 0) && (x <= 9))
    {
      myArray[j] = x + 0x30;    //0x30 - 0x39 = 0 - 9
      j = j + 1;
    }
    else
    {
      myArray[j] = x + 0x37;    //0x41 - 0x46 = A - F
      j = j + 1;
    }
    //-------------------------------------
    x = buff[i];  //x = 12
    x = x & 0x0F;   // x= 02
    if ((x >= 0) && (x <= 9))
    {
      myArray[j] = x + 0x30;    //0x30 - 0x39 = 0 - 9
      //j = j+1;
    }
    else
    {
      myArray[j] = x + 0x37;    //0x41 - 0x46 = A - F
      //j = j+1;
    }
  }
}