我想的char array[100]
部分转换为int
C++转换的阵列的一部分转换成int
我的意思是我想仅第一2个阵列array[0]
和array[1]
我想读阵列的十六进制到int
我的意思是,如果array[0]=T
相当于0xC2
我想该值是为int
,而不是char
uint8_t z;
z=static_cast<uint8_t>(buf[0]);
但我想利用buf[1]
值太大,不仅buf[0]
z
将是2 buf[0]
和buf[1]
我想的char array[100]
部分转换为int
C++转换的阵列的一部分转换成int
我的意思是我想仅第一2个阵列array[0]
和array[1]
我想读阵列的十六进制到int
我的意思是,如果array[0]=T
相当于0xC2
我想该值是为int
,而不是char
uint8_t z;
z=static_cast<uint8_t>(buf[0]);
但我想利用buf[1]
值太大,不仅buf[0]
z
将是2 buf[0]
和buf[1]
硬盘的价值,以确保因您的问题ISN不太清楚。但是,也许这是你想要
uint16_t z = *reinterpret_cast<uint16_t*>(array);
什么另一种可能是
uint16_t z = static_cast<uint8_t>(buf[0])*256 + static_cast<uint8_t>(buf[1]);
,另一个是
uint16_t z = static_cast<uint8_t>(buf[1])*256 + static_cast<uint8_t>(buf[0]);
尝试所有这些,它们的区别仅在于什么字节序他们使用。你应该看看。
让我困惑的一件事是,你说你想要两个字节,但是你的z
变量被声明为uint8_t
,它只是一个字节。我将其更改为uint16_t
。
是的,1个字节只有1个BUF,谢谢这是我正在寻找伟大的:) – Nasr 2013-05-02 09:15:58
什么编程语言? – pyrocumulus 2013-05-02 08:54:05
对不起C++我写了它 – Nasr 2013-05-02 08:54:31