我有十进制值48我需要将其转换为2个十六进制字节格式。我已编写如下代码
int a=48;
在值48中的是需要填充48个2字节
fill data[0]=/*converted data*/
fill data[1]=/*converted dara*/
请帮助我提供示例代码,因为我是目标c编码的新手。转换后的数据包含格式为ex:0x03,0x04的数据 我怎样才能填写数据。请帮帮我
答案 0 :(得分:2)
2字节十六进制格式......呵呵?!
我不太确定我理解你的问题,但也许这会有所帮助:
int a = 48;
NSString* str = [NSString stringWithFormat:@"%02x", a]; // "30"
int byte1 = [str characterAtIndex:0]; // 51 (ASCII code for '3')
int byte2 = [str characterAtIndex:1]; // 48 (ASCII code for '0')
返回两个字节,表示构成十六进制数“30”的ASCII字符。
如果你真的希望字节包含值3和0,那么它就更容易了:
int a = 48;
int byte1 = a / 16; // 3
int byte2 = a % 16; // 0
类似地,如果您希望将48值转换为0x0030,并将byte1设置为0x00并将byte2设置为0x30,则只需执行以下操作:
int a = 48;
int byte1 = a % 256; // 48
int byte2 = a / 256; // 0
希望这有帮助。