c++ - 为什么 (char)433 在 C++ 中等于 -7 9'+-'?

标签 c++ debugging c++11

当我输入 cast 433char 时,我得到 this . 433 如何等于 -7943ASCII52 & 51 分别根据this表。

最佳答案

十进制数 4330x1b1,是一个 int,通常是 32 位长。当您将它转换为 char(通常有 8 位)时会发生什么,除了最低的 8 位之外的所有位都被丢弃,留下 0xb1,它是 -79 作为签名 two-complement 8 位整数。

关于c++ - 为什么 (char)433 在 C++ 中等于 -7 9'+-'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30831976/

相关文章:

c++ - 在模板中, "std::result_of<int&()>"中没有名为 type 的类型

java - 如何从驻留在 OSGi 包中的类获取 JNI 中的 jclass

ios - 如何开启Cocos2D CCLOG Debug模式?

c++ - 将 ‘args’ 声明为引用数组错误

c++ - 没有合适的默认构造函数可用 - 迭代器?

C++ 返回错误的代码行

ios - 是否可以在 iOS 模拟器中禁用网络?

node.js - 将Clojurescript Repl连接到正在运行的 Node 进程的方法

c++ - c++/c++11 中的 bool()、int() 和 double() 是什么?

c++ - std::move 如何应用于函数返回值?