取出高8位,然后右移8位,再取出低8位,然后左移8位,再把它们相加就可以了,代码:include<stdio.h>unsigned short MyConvert(unsigned short sval){return ((sval&0x00ff)<<8) + ((sval&0xff00)>>8);}int main(){unsigned short sval = 0xabcd;printf("%d,0x%X\n", sval, sval);...
int main(){ unsigned __int16 x=1;unsigned __int16 y=2;int xx,yy;scanf("%d%d",&xx,&yy);x=xx,y=yy;printf("%d\n",x+y);} 现在电脑大多都是32位的了,一楼那种只是32位无符号整数相加
结果1 题目在C语言中用“unsigned char a; signed short b;”定义两个变量a,b,则a为无符号字节数,b为16位补码数。写出a,b两个变量表示的十进制数的范围。a: ,b: 。 相关知识点: 试题来源: 解析 0~255 (0~281、15 ~ 2151、 反馈 收藏
-9是一个整数常量,对于整数常量一般都以int类型存储,而int类型在现在的平台上大都是32位的。int当然要转换成32位的unsigned int。
include<stdio.h> int main(){ unsigned __int16 x=1;unsigned __int16 y=2;int xx,yy;scanf("%d%d",&xx,&yy);x=xx,y=yy;printf("%d\n",x+y);} 现在电脑大多都是32位的了,一楼那种只是32位无符号整数相加