您的位置:首页 > 移动开发 > IOS开发

iOS 16 进制与 10进制之间的 互转

2015-12-29 16:23 477 查看
最近自己也在做蓝牙开发,发现好多做蓝牙开发的都没有接触过C ,字节转换更是晕乎乎的,所以写下此篇博客,提供我转换的方法。

一、整形装换成两个字节

int value =
456;

unsigned
char byte1 = (value & 0xff00)>>8;
//高8位

unsigned
char byte2 = (value & 0xff);//低8位

NSLog(@"byte1= %x byte2= %x ",byte1,byte2);

byte1 = 1; byte2= c8;
二、两个字节转换成十进制整数

char bytes[]={byte1,byte2};

unsigned
char by1 = (bytes[0] &
0xff); //高8位

unsigned
char by2 = (bytes[1] &
0xff);//低8位

int temp = (by2|(by1<<8));

NSLog(@"temp = %d",temp);

temp = 456;

三、整形装换成三个字节

int value =134456;

unsigned
char byte1 = (value & 0xff0000)>>16;//最高8位

unsigned
char byte2 = (value & 0xff00)>>8;//中间8位

unsigned
char byte3 = (value & 0xff);//低8位

NSLog(@"byte1= %x byte2= %x byte3= %x ",byte1,byte2,byte3);

byte1= 2 byte2= d byte3= 38

四、三个字节转换成十进制整数

char bytes[]={byte1,byte2,byte3};

unsigned
char by1 = (bytes[0] &
0xff); //高8位

unsigned
char by2 = (bytes[1] &
0xff);//中8位

unsigned
char by3 = (bytes[2] &
0xff);//低8位

int temp = (by3|(by2<<8)|(by1<<16));

NSLog(@"temp = %d",temp);

temp = 134456

如果还有更多的自己接需要转换以此类推
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: