What is an unsigned char?

后端 未结 17 1426
借酒劲吻你
借酒劲吻你 2020-11-22 11:05

In C/C++, what an unsigned char is used for? How is it different from a regular char?

17条回答
  •  天涯浪人
    2020-11-22 11:20

    signed char and unsigned char both represent 1byte, but they have different ranges.

       Type        |      range
    -------------------------------
    signed char    |  -128 to +127
    unsigned char  |     0 to 255
    

    In signed char if we consider char letter = 'A', 'A' is represent binary of 65 in ASCII/Unicode, If 65 can be stored, -65 also can be stored. There are no negative binary values in ASCII/Unicode there for no need to worry about negative values.

    Example

    #include 
    
    int main()
    {
        signed char char1 = 255;
        signed char char2 = -128;
        unsigned char char3 = 255;
        unsigned char char4 = -128;
    
        printf("Signed char(255) : %d\n",char1);
        printf("Unsigned char(255) : %d\n",char3);
    
        printf("\nSigned char(-128) : %d\n",char2);
        printf("Unsigned char(-128) : %d\n",char4);
    
        return 0;
    }
    

    Output -:

    Signed char(255) : -1
    Unsigned char(255) : 255
    
    Signed char(-128) : -128
    Unsigned char(-128) : 128
    

提交回复
热议问题