gpt4 book ai didi

C - 为什么向字符添加数字会重置为 255?

转载 作者:行者123 更新时间:2023-11-30 21:17:38 26 4
gpt4 key购买 nike

我不知道如何自动解锁超过 255 个字符。

char f;
f = 'k';
printf("%d\n", f);

结果为107。不足为奇。

f += 500;
printf("%d\n", f);

结果为95。看起来它已除以 255。

printf("%c\n", 607);

结果为_。还有更多的字符也达到数千个。为什么添加一个值并使字符超过 255 会强制进行模运算?为了哈希函数,我需要超过 255。

最佳答案

char 是内存中的一个字节。因此,您不能存储大于 255 的值,因为它只有 8 位(假设在您的平台上,char 被定义为 8 位字节)。当值超过255时,就会溢出。

此外,您不知道 char 是无符号(值可以在 0 到 255 之间)还是有符号(值可以在 -128 到 127 之间)。

如果您想存储大于 255 的值,可以使用 char 以外的其他类型。

关于C - 为什么向字符添加数字会重置为 255?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37209362/

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