conversion double float recieved to int?

JHEnt:
Do you

float misc = conv(&storedArrayName[0]); //where 0 is the first position of the 8 bytes

Yes.

This reads 8 bytes...

No. Nothing is "read" or moved around. Arrays are always passed "by reference" (another way of saying "by pointer"). The code you posted above and this...

float misc = conv( storedArrayName );

...produce the same result. As does this...

float misc = conv( & storedArrayName );

I prefer the first version because I think it makes it clear that a pointer to the first element of the array is being passed.

and returns a float value to variable "misc" ?

Yes.

I'm not seeing where the array dn[] is initialized. Or does the "dn" mean something else?

dn does not have any special meaning. It is a simple parameter. When the conv function is called, dn becomes a pointer that points to the first byte in the storedArrayName array.

It's kind of like an alias. Outside of the conv function, the section of memory is called storedArrayName . Inside of the conv function, the same section of memory is called dn.

In C(++), arrays and pointers are essentially interchangeable. dn[0] and *dn and *(dn+0) all result in the first byte of the storedArrayName array. dn[1] and *(dn+1) all result in the second byte of the storedArrayName array.

Whoever wrote conv really should have prototyped the function like this...

float conv(byte dn[8])
{
...

...to make it quite clear that an array of eight bytes is expected.