找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2536|回復(fù): 5
收起左側(cè)

大哥!怎樣把 buf16[0]-buf16[3]存到buf8[0]到buf[7];

[復(fù)制鏈接]
ID:275916 發(fā)表于 2018-5-29 09:37 | 顯示全部樓層 |閱讀模式

uint buf16[4];
uchar buf8[20];
怎樣把 buf16存到buf8[0]到buf[7];
回復(fù)

使用道具 舉報(bào)

ID:340390 發(fā)表于 2018-5-29 10:23 | 顯示全部樓層
你是想要把buf16的元素分拆成兩個(gè)buf8元素是吧?那完全可以用移位運(yùn)算賦值給buf8
例:
buf8[0]=buf16[0]>>8;
buf8[1]=buf16[0];
因?yàn)榧拇嫫魑粩?shù)的問題buf8只會(huì)保存buf16的后八位數(shù)據(jù),所以高八位就要通過移位來(lái)實(shí)現(xiàn)讀取保存
回復(fù)

使用道具 舉報(bào)

ID:266943 發(fā)表于 2018-5-29 10:25 | 顯示全部樓層
buf8[0]=buf16[0]&0xff;
回復(fù)

使用道具 舉報(bào)

ID:340384 發(fā)表于 2018-5-29 10:28 | 顯示全部樓層
ulong Temp;             profile11[7]=(uchar)Temp;           profile11[6]=(uchar)(Temp>>8);           profile11[5]=(uchar)(Temp>>16);           profile11[4]=(uchar)(Temp>>24);
回復(fù)

使用道具 舉報(bào)

ID:266943 發(fā)表于 2018-5-29 10:29 | 顯示全部樓層

for(int i=0;i<4;i++)
{
buf8[2*i]=buf16[i]&0xff;
buf8[2*i+1]=(buf16[i]>>8)&0xff;
}
回復(fù)

使用道具 舉報(bào)

ID:340396 發(fā)表于 2018-5-29 10:35 | 顯示全部樓層
buf8[0] = buf16[0]>>8;buf8[1] = buf16[0]&0xff;buf8[2] = buf16[1]>>8;buf8[3] = buf16[1]&0xff;
buf8[4] = buf16[2]>>8;buf8[5] = buf16[2]&0xff;buf8[6] = buf16[3]>>8;buf8[7] = buf16[3]&0xff;
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表