将char转换为unsigned char

时间:2019-06-26 08:57:31

标签: c++ casting char unsigned

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

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

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

在转换过程中c的整数值可以更改吗? 由于 char 是带符号的还是无符号的,实现是定义的,所以无论它是带符号的,强制转换都可能会更改字符的整数值吗?

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

1 个答案:

答案 0 :(得分:3)

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

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