I am going to create the byte array as desired output using iOS objective-C. The method is converting from static float array to int8_t array bytes array . When it comes to the implementation, I have found that all bytes for each float in the float array are reversed in order. The output is displayed as the Actual Output. Would you please tell me how to convert the bytes each and display as Desired Output ? The below is my working :
float floatArray[5] = {100.0 , 10.0 , 10.0 , 10.0 , 10.0 };
NSUInteger lengthN = sizeof(floatArray) ;
NSLog(@" length %lu" , (unsigned long)lengthN);
int8_t oneByte = lengthN;
int8_t prefix[4] = {0x26, 0x24, 0x61 , oneByte };
// NSArray *charArray = arry; //20d = 14h
//char arry[4]={ 0x26, 0x24, 0x61 , oneByte };
int8_t data[lengthN + 5];
memcpy (data, (int8_t *) &prefix, sizeof(prefix));
memcpy (data+4, (int8_t *) &floatArray, lengthN );
int length = (int)lengthN + 5;
int checkSum = 119 + 97 + (int)lengthN ;
for(int i = 4 ; i < lengthN * 4 ; i *=4 ){
[self swap: data[ 4*i +3] : data [4*i+ 0]];
[self swap: data[ 4*i +2] : data [4*i+ 1]];
[self swap: data[ 4*i +1] : data [4*i+ 2]];
[self swap: data[ 4*i +0] : data [4*i+ 3]];
}
- (void)swap:(int8_t)a :(int8_t)b {
a ^= b;
b ^= a;
a ^= b;
}
Actual Output
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal -56
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 66
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.666 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.666 marker[2770:1000346] sdjhasdhal 65
2014-10-31 18:09:21.666 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 65
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 65
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.668 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.668 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.668 marker[2770:1000346] sdjhasdhal 65
Desired output
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 66
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal -56
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 65
2014-10-31 18:09:21.665 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.666 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.666 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.666 marker[2770:1000346] sdjhasdhal 65
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 65
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.667 marker[2770:1000346] sdjhasdhal 65
2014-10-31 18:09:21.668 marker[2770:1000346] sdjhasdhal 32
2014-10-31 18:09:21.668 marker[2770:1000346] sdjhasdhal 0
2014-10-31 18:09:21.668 marker[2770:1000346] sdjhasdhal 0