char 与 unsign char的转换

char为字符类型。unsigned char为无符号字符类型。
二者均是占一个字节,可以直接通过强制转换的方式,把char类型的值转为unsigned char。
当定义变量:
unsigned char a;
char b;
转换的形式为:
a = (unsigned char)b;
当char类型的值为正时,转换后的值为原值。
当char类型为负时,原始值的符号位会转为数据位,即结果值为原始值补码代表的无符号值。具体计算公式为,
结果值=256+原始值。

例:

#include<iostream>
using namespace std;

int main(){
    char si = -10;
    unsigned char usi = si;
    printf("%d\n",(int)usi);
}

输出:246

猜你喜欢

转载自blog.csdn.net/qq_36553031/article/details/82863616