您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 如何将unsigned short (36294) 转换成unsigned char

如何将unsigned short (36294) 转换成unsigned char

来源:网络整理     时间:2016/8/28 18:59:15     关键词:

关于网友提出的“ 如何将unsigned short (36294) 转换成unsigned char”问题疑问,本网通过在网上对“ 如何将unsigned short (36294) 转换成unsigned char”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何将unsigned short (36294) 转换成unsigned char
描述:

我有一个unsigned short 的usdata = 36294值,十六进制为0x8DC6,想转成unsigned char 存到我的vector usData里去,存进去为两个字节,即usData[0] = 0x8D,usData[1] = 0xc6.
该怎么存进去啊,求解答,新手感激不尽!!!


解决方案1:

#include                                                              
#include 
#include 
using namespace std;
 
int main()
{
    unsigned short usdata = 36294;
    printf("usdata: %X\n", usdata);
 
    vector vcdata;
 
    vcdata.push_back(usdata & 0xFF);   // 取usdata的低字节
    vcdata.push_back((usdata >> 8) & 0xFF); // 取usdata的高字节
 
    for (int i = 0; i < vcdata.size(); ++i) 
        printf("%X", vcdata[i]);
 
    return 0;
}

解决方案2:

#include 
#include
#include
using namespace std;
int main(void)
{
unsigned short usdata = 36294;
printf("usdata: %X\n", usdata);
vector usData;
usData.push_back(usdata >> 8);
usData.push_back(usdata % 1024);// 2的8次方 
printf("usData[0]:%x\n", usData[0]);
printf("usData[2]:%x\n", usData[1]);
return 0;
}
解决方案3:

确定一个字节是8位的话:
usData[0] = usdata >> 8;
usData[1] = usdata & 0xFF;


以上介绍了“ 如何将unsigned short (36294) 转换成unsigned char”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3637858.html

相关图片

相关文章