有许多与此相关的问题,但是它们回答了char *到unsigned char *的转换。我想问的是char到unsigned char的转换:

如果我将字符转换为C样式或静态广播,例如:

char c = 'A' ;unsigned char uc = ( unsigned char ) c ;

转换期间c的整数值可以更改吗?
由于char是带符号的还是无符号的,实现是定义的,所以无论它是带符号的,强制转换是否都可能改变字符的整数值?

我主要关心的是积极的价值观。如果我采用“高于”方式,是否有可能更改值?

最佳答案

从C ++ 14开始,如果char必须为2的补码,则为signed

因此,从signed charunsigned char的转换(反之亦然)不能更改基础位模式。

关于c++ - 将char转换为unsigned char,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56768939/

10-11 19:31
查看更多