博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4.signed/unsigned char
阅读量:4599 次
发布时间:2019-06-09

本文共 1237 字,大约阅读时间需要 4 分钟。

//2019/03/04#include 
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的特殊字符。

用cmd命令“chcp”可以查看当前默认代码页:

1.临时更改代码页:

 使用 chcp 命令,例如 chcp 65001 ,这回将当前代码页变为 utf-8编码,不过这种方式在关闭 cmd 之后会自动失效。

 

 2.永久性更改代码页:

win+R,regedit,定位到:HKEY_CURRENT_USER\Console\

更改CodePage:437,即可。

 

当 unsigned char 为负数时:

//2019/03/04#include 
int main() { unsigned char a = -85; unsigned char b = 256 - 85 ; //std::cout << std::hex; std::cout << a << std::endl; std::cout << b << std::endl; system("pause"); return 0;}

 结果:

(需要把控制台的字体调到英文字体,具体:右键控制台上方,属性,字体)

 

转载于:https://www.cnblogs.com/foremember/p/10471701.html

你可能感兴趣的文章
预备作业01
查看>>
【Spark】Spark-Redis连接池
查看>>
【云计算】使用supervisor管理Docker多进程-ntpd+uwsgi+nginx示例最佳实践
查看>>
Ubuntu16.04下配置ssh免密登录
查看>>
实验二 2
查看>>
will-change属性
查看>>
android学习笔记54——ContentProvider
查看>>
Unity3d android开发之触摸操作识别-双击,滑动去噪处理
查看>>
Custom view * is not using the 2- or 3-argument View constructors; XML attributes will not work
查看>>
模型选择准则
查看>>
安卓动态增加按钮
查看>>
iOS7程序后台运行
查看>>
maven+testng+reportng的pom设置
查看>>
IT telephone interview
查看>>
gitlab安装配置
查看>>
ps载入画笔
查看>>
悲怆:IT人的一声叹息->一个程序员的自白[转帖]
查看>>
[SpringMVC]自定义注解实现控制器访问次数限制
查看>>
日记(序)
查看>>
A == B ?
查看>>