将 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 char
到 unsigned char
和 vice-versa 的转换 不能 改变底层位模式。
有很多与此相关的问题,但他们回答了 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 char
到 unsigned char
和 vice-versa 的转换 不能 改变底层位模式。