如何将 24 位(整数值)转换为字符串,反之亦然
how to convert a 24 bit (integer value) to string and vice versa?
我需要读取前 3 个字节的数据(24 位)并将其转换为十进制值。 例如. 我的前三个字节是0x00 0x00 0x0A.我需要阅读此内容并获取 10 作为值.我将以字符串(c ++字符串类)的形式获取输入。 如何在 C++ 中做到这一点?
注意:需要遵循整数值的大端表示。 我也无法生成输入.
编辑我的代码
用于生成 :
stringstream lss ;
int lNo =32 ; // I know its 32 bit integer value
lss<<lNo ; //string to int
// got output in lss.str() as 32 . size of the string is 2 .
// Expected out put is 0x00000020 size of the string should be 4 ..
所以我也尝试了下面的代码
stringstream lss ;
char a[3] ={0x00,0x00,0x0A} ;
lss<<a ;
// this time output is empty string ...
我想你想要的是这个:
unsigned char a[3] = { 0x00, 0x00, 0x0A };
int x = ((int)(char)a[0] << 16) | ((int)a[1] << 8) | a[2];`.
至关重要的是,数组必须是无符号字符,以便在将它们左移之前将它们转换为整数时不会得到符号扩展。这不适用于第一个,因为它可能有一个有效的符号位。祝你好运。
相关文章:
- wcstombs_s(),转换字符串的长度
- 使用 CStringW/CStringA 和 CT2W/CT2A 转换字符串有什么区别?
- 无法转换字符串插入函数的参数
- 转换字符串向量:基于先前的值跳过元素
- 从中间器转换字符串不起作用,出了什么问题?
- 失败的证明转换字符串到枚举类
- 如何使用正则表达式和提升转换迭代器标记和转换 c 字符串
- 使用java jni时转换字符串类型
- 如何避免在转换字符串令牌流时重复istringstream构造
- 阿托伊未正确转换字符串
- C++,转换字符串,使连续下划线序列变为单个下划线
- 使用长算术转换字符串
- 转换字符串十进制数时的精度
- 将词法转换字符串提升为双精度
- 使用marshal_as函数转换字符串的性能
- C++不会从数据转换字符串
- 无论如何,在c++ /Qt中转换字符串到结构中的字段
- C++ 隐式类型转换字符串 -> int?
- 转换字符串到浮点数,c++实现
- 用于转换字符串大小写的函数