c++ - 从 char 获取字节值

标签 c++ char byte

这很简单,但我遇到了问题。 http://www.ipix.lt/images/90928843.png 我想计算缓冲区[5]。但不是符号值,而是 255。尝试将类型转换为 int 或 byte,但结果为 -1。

最佳答案

将它转换为 int 是正确的,你得到 -1,因为你实现中的 char 是一个有符号类型(如果 char 有符号,它实际上是实现定义的或未签名,通常您可以在编译器选项中更改它);您在调试器窗口中看到的是它的无符号表示。

要获得它的无符号值,您应该首先将其转换为 unsigned char,然后转换为 unsigned int(我认为您也可以将其转换为 unsigned int,但我不确定)。

---编辑---

实际上在调试器窗口中我看到它的类型为 unsigned char,所以我的回答的第一部分可能不适用...您应该告诉我们缓冲区是如何定义的。

关于c++ - 从 char 获取字节值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4706284/

相关文章:

c++ - 如何为命令行应用程序编写 Python 绑定(bind)

c++ - clock() 函数总是返回 0

java - 输入内容后,交互 Pane 停止并继续显示加载图标

Java 迭代字节数组中的位

c++ - C/C++ 的 Markdown 实现

c++ - 在递归下降解析器中使用第一集

c++ - 字符到整数 - C++

c - 我用scanf获取输入,我用printf检查输入....然后我去用的时候输入不正确

ios - 如何在 swift 中将字节转换为浮点值?

c - (C) 短整型变量中的位移位/字符放置