Приведение чара к беззнаковому чару - PullRequest
0 голосов
/ 26 июня 2019

Есть много вопросов, связанных с этим, но они отвечают на преобразование char * в unsigned char *. То, что я хочу спросить, это преобразование char в unsigned char:

Если я разыгрываю (в стиле C или статическое приведение) символ на неподписанный символ, например:

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

Может ли интегральное значение c измениться во время приведения? Поскольку char подписано или не подписано, определяется реализация, поэтому, где бы оно ни было подписано , возможно ли, что приведение изменит интегральное значение символа?

Моя главная забота о положительных ценностях. Если я приведу вышеприведенный способ, есть ли вероятность изменения значений?

1 Ответ

3 голосов
/ 26 июня 2019

Начиная с C ++ 14, char, если signed , должно быть дополнением 2.

Следовательно, приведение от signed char до unsigned char и наоборот не может изменить базовый битовый шаблон.

...