4.signed/unsigned char

Posted foremember

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.signed/unsigned char相关的知识,希望对你有一定的参考价值。

//2019/03/04
#include <iostream>

int main() {
    signed char a = 126;
    int b = 679881;
    //std::cout << std::hex;
    std::cout << a << std::endl;
    std::cout << b << std::endl;
    system("pause");
    return 0;
}

signed char表示有符号字符,在-128~127之间

unsigned char 表示无符号字符,在0~255之间

由于与ANSII对应:

技术图片

 技术图片

 

ANSII为0000 0000~0111 1111 共127个字符(unsigned char且<128)

绝大多数计算机的一个字节(byte)是8位(bit),取值范围是0~255,而ASCII码并没有规定编号为128~255的字符,为了能表示更多字符,各厂商制定了很多种ASCII码的扩展规范。注意,虽然通常把这些规范称为扩展ASCII码(Extended ASCII),但其实它们并不属于ASCII码标准。

例如以下这种扩展ASCII码由IBM制定,在字符终端下被广泛采用,其中包含了很多表格边线字符用来画界面。

 技术图片

 

我们要修改CMD窗口中的代码页。将其修改成437(OEM-美国),就可以正常显示显示SCII码中128-255的特殊字符。

一般情况我们CMD中的默认代码页是936(ANSI/OEM - 简体中文GBK,用于在CMD中显示中文的,这样就不能在CMD中显示SCII码中128-255的特殊字符。

技术图片

 

以上是关于4.signed/unsigned char的主要内容,如果未能解决你的问题,请参考以下文章

string,const char*, char*转换之后还是指向同一片内存地址么?

Android Adapter代码片

代码片|水波纹

代码片--练习匿名内部类

一个简单的时间片轮转内核代码的分析(课程作业)

markdown 放代码片