c语言low16 = (unsigned short ) (number>>16); high16 = (unsigned short) (number&0xFFFF); 是什么意思
3个回答
展开全部
两句代码。第一句:将number内的值以二进制数格式右移16位之后转化为 无符号短整型 赋值给 变量 low16;将 number的值以二进制数格式跟16进制数0xFFFF(即二进制数16个1)做按位与运算之后转化为 无符号短整型数 赋值给变量 high16; 两句代码大概要把变量number以二进制数的方式分为高16位、低16位两部分分别存入 变量low16与high16里,如果没猜错的话,number 应该是个整型变量,而unsigned short(无符号短整型)正好是二进制数取值范围为16位的数据类型
展开全部
假设number是int型,
number>>16就是移出尾部的16位,结果取高两字节的数据,存放low16(谁啊,这么乱取名)
number&0xFFFF就是屏蔽除了低16位之外的数据,剩下的就是低16位,存入high16.
整体就是将number的低4字节分成两半,其中高的两字节存入low16,低的存入hign16
number>>16就是移出尾部的16位,结果取高两字节的数据,存放low16(谁啊,这么乱取名)
number&0xFFFF就是屏蔽除了低16位之外的数据,剩下的就是低16位,存入high16.
整体就是将number的低4字节分成两半,其中高的两字节存入low16,低的存入hign16
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
low16 = (unsigned short ) (number>>16);
取number的高16位,赋值给low16
high16 = (unsigned short) (number&0xFFFF);
取number的低16位,赋值给high16
取number的高16位,赋值给low16
high16 = (unsigned short) (number&0xFFFF);
取number的低16位,赋值给high16
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询