gpt4 book ai didi

c - 是否可以比较无符号字符并将其分配给整数

转载 作者:行者123 更新时间:2023-11-30 15:46:06 25 4
gpt4 key购买 nike

变量Tmax_grayqtd_px始终大于0,并且numeros_px是一个 unsigned char vector ,存储 0-255 之间的值。如果可能,请解释原因,因为它在 CodeBlocks 中似乎工作正常,但对我来说没有意义,因为它们来自不同的类型:一个是 unsigned char ,另一个是 unsigned charint

void filtro(unsigned char *numeros_px, int qtd_px, int T, int max_gray){
int i;
for(i=0; i<qtd_px; i++){
if(numeros_px[i]>= T) numeros_px[i]=max_gray;
else numeros_px[i]=0;
}
}

最佳答案

是的,你可以将char分配给int,因为char是8位宽,整数是32(取决于架构,但在PC和32位ARM上,它是32位宽。在某些芯片上是16位)

你不能做的是相反的事情,因为显然你可能会丢失数据。*在您的代码中,这是不好的:* numeros_px[i]=max_gray; 因为 max_grey 是 32 位,而您将其放入 8 位多变的。如果 max_grey 为 <255

,这不是问题

关于c - 是否可以比较无符号字符并将其分配给整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18623070/

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