gpt4 book ai didi

c - 隐式有符号到无符号转换 mplab xc8

转载 作者:行者123 更新时间:2023-11-30 19:34:04 24 4
gpt4 key购买 nike

我收到了这个消息,这很烦人。有人能看到错误吗?并知道如何解决它吗?

warning: (373) implicit signed to unsigned conversion

unsigned char read_soft_SPI(void) {
unsigned char value = 0;
unsigned char i = 0;
unsigned char x = 0x80;

SPI_SCK = 0;
__delay_us(1);

for (i = 0; i < 8; i++) {
__delay_us(1);
if (SPI_MISO == 1) {
value = value | (x >> i);
}
SPI_SCK = 1;
__delay_us(1);
SPI_SCK = 0;

}
return value;
}

最佳答案

我现在也遇到了类似的“问题”。我已经解决如下: 值 = (无符号字符) (值 | (x >> i));我相信基本上编译器不知道你的操作结果将保持在8位大小内并且没有符号,所以它要求你指定它。

发生在我身上的奇怪的事情是,该解决方案对于 8 位到 16 位操作来说还不够好,如下所示:

unsigned int mul;
unsigned char a,b;
mul=(unsigned int) ((a+CONSTANT_VALUE*2/3)*b);

关于c - 隐式有符号到无符号转换 mplab xc8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44435139/

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