gpt4 book ai didi

c++ - osx lion 上的 unsigned char 限制为 127?

转载 作者:行者123 更新时间:2023-11-30 04:29:32 25 4
gpt4 key购买 nike

我遇到了一个奇怪的问题,在我的 mac osx lion 上工作(在 xcode4/clang 下,尽管它可以用 gcc4.2 重现)。

看来,我不能为 unsigned char 变量分配任何大于 127 的值。所以,当我分配

v = (unsigned char) 156;

或者,简单地

std::cout << (unsigned char) 231 << std::endl;

我的程序没有产生任何输出。

当我运行这段代码时

std::cout << "Unsigned chars range up to " << UCHAR_MAX << std::endl;

我得到以下输出:

无符号字符范围最大为 255

但是,当我运行这样的程序时,程序每次都会生成一些不同的任意值(例如 c = 114、c = 252 等)的输出。 对于(无符号字符 c = 0;c < CHAR_MAX;c++) std::cout << "c = "<< 2*c << std::endl;

将 CHAR_MAX 更改为 UCHAR_MAX,程序再次无输出结束:(

提前致谢

最佳答案

cout 正在将数值转换为字符集中的字符(好吧,它试图...当您看不到任何内容时,它不是您的字符集的有效字符,从技术上讲这是决定这个的终端)。

改为将其转换为 unsigned int

编辑添加:ildjarn 在他对您的问题的评论中提出了一个非常有效的观点;如果您在调试器中运行它,您会发现该值确实符合您的预期。

关于c++ - osx lion 上的 unsigned char 限制为 127?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9283225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com