汇编如何将两个8位数据合并成一个16位且为(a7b7a6b6a5b5……a0b0)?

汇编如何将两个8位数据合并成一个16位且为(a7b7a6b6a5b5……a0b0)?

www说
浏览 1112回答 1
1回答

慕容708150

short&nbsp;foo(char&nbsp;a_8,char&nbsp;b_8)&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;a_16=a_8,b_16=b_8;&nbsp;&nbsp;&nbsp;&nbsp;short&nbsp;a=0,b=0,result;&nbsp;&nbsp;&nbsp;&nbsp;for(short&nbsp;i=0,mask=1;i<8;i++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a+=(a_16&mask)<<i; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b+=(b_16&mask)<<i;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;printf("%d,%d\n",a_16&mask,a_16); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;mask<<=1; &nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;result=a<<1+b;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;result;}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Html5