两个ushort合并成一个int
unsigned short(简称ushort)是无符号16位变量,而int是32位变量,怎么实现将两个ushort合并成一个int?意思是,int的高16位是一个ushort,低16位是另一个ushort,组成32位的变量。
急用,请大家帮忙,不要用函数,要转换的算法,斑竹及高手快来帮忙!
看来你的dbx协议没有这些愚蠢的,底级的,基础的知识还是不行的
既然你用马甲提问,我也就用马甲回答了
你学会了好来打我噢
#include<stdio.h>
union
{
unsigned short part[2];
int mLong;
}NumChange;
void main()
{
unsigned short m,n;
int x;
printf("Input two short integer:");
scanf("%d,%d",&m,&n);
NumChange.part[0]=m;
NumChange.part[1]=n;
printf("%d",NumChange.mLong);
getch();
}
void main()
{
unsigned int n = 0;
unsigned short s1 = 10, s2 = 11;
int *p = &n;
*p = s1;
*((unsigned short*)p + 1) = s2;
}
高位=s1
低位=s2