将 char 转换为 unsigned char

Casting a char to unsigned char

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

如果我将 char 转换(C 风格或静态转换)为 unsigned char,例如:

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

c的积分值在施法过程中可以改变吗? 由于 char 是有符号或无符号的,是实现定义的,所以无论它是 signed ,转换是否有可能改变特点 ?

我主要关心的是正值。如果我使用 'above' 方式,是否有可能更改值?

自 C++14 起,char 如果 signed 必须 是 2 的补码。

因此从 signed charunsigned char 和 vice-versa 的转换 不能 改变底层位模式。