【发布时间】:2013-09-23 00:04:21
【问题描述】:
这是我的代码:
std::vector<unsigned char> data;
... // put some data to data vector
char* bytes= reinterpret_cast<char*>(imageData.data());
我的问题是,在向量“数据”中,我有值 255 的字符。在字节指针中转换后,我的值是 -1 而不是 255。我应该如何正确转换这些数据?
编辑
好的,我真的不需要转换,只需要一个位顺序。感谢您尝试帮助
【问题讨论】:
-
-1 在查看有符号字符时与 255 的位模式相同。有符号字节只能表示值 -128..+127。
-
你真正想做什么? 255 将是 -1,所以你不会让它工作。
-
如果您使用的图像库需要 char * 而不是 unsigned char *,请不要担心 reinterpret_cast,它可以完美地完成工作。对用作整数值的数据执行算术运算时,符号很重要。
标签: c++ pointers type-conversion