字符
符号是一个神秘的存在 ,既可以当数字也可以当标点符号,和字母符号,特殊的符号
这些符号统称为字符 取中间的字来命名的,
很明显这些字符对应着键盘,当然也不完全是对应着键盘
这些字符一共有 -2 ^ 7 +2^7-1 也就是 -128 - +127 一共有256个字符
这么少??
是的,就这么少 而且这个还需转换为数字 因为 计算机只能识别二进制 所以还要转换
为啥 字符需要转数字?
先来看看 字符 ‘A’ 如果直接 输出 ‘A’ VS提示 ‘A’是(char)65 怎么会有数字? 其实这个’‘A’'是65的数字
由于编码的原因,让64数字赋予了新的使命
编码
所谓的编码是为字符找一个出口点 是为了解决字符存储的问题 想想1个字节(Byte)有 八位二进制
从一开始说的就是八位,从零开始说的就是七位,
256个字符,每一个字符都有独立编号 列如 :''A "它的编号为65 '0’是48
ASCII 编码是美国的标准编码 我国的编码是GB2312编码
编码的的意义:字符的存储 对应的数字
字符型-数据类型
数据类型 | 类型 大小 | 数字范围 | 数值 |
---|---|---|---|
char | 1 | -2^7 - +2^7-1 | -128 - + 127 |
wchar_t | 2 | -2^15 - +2^15-1 | -32768 +32767 |
unsigned char | 1 | 0- +2^8 | 0 + 255 |
unsigned wchar_t | 2 | 0 - +2^16 | 0 +65,536 |
需要注意的是:char 或者 wchar_t 都存在于数值循环的概念 所谓的数值循环就是最大值+1就是最小值
比如说 127+1 ==-128 不可能是128 毕竟能表示的范围在哪里 给整型变量是可以的, 因为内存空间大 2或者4 或者8
一个字节有八个位二进制数 按照程序员的来说0到7才是八位 以正常人表示1到8
掐指一算 2 4 8 依次递增的 分别是 2^15-1 , 2^31-1 2^63-1 无符号 2^16 2^32 2^64