关于char 型 的 存储实质(asc2码表的)
起因:有一天一个朋友发来一个程序给我看
#include <stdio.h>
void main()
{int a,b=322;float x,y=8.88;char cl='k',c2;a=y; \\ a=8printf("a=%d",a);x=b; \\x=322.000000a=cl; \\ a等于 字母 k的 asc2 码 107 ,a=107<span style="color:#ff0000;"> c2=b; \\ c2 等于 322 这个asc2 码所对应的 字符</span>printf("a=%d,x=%f,a=%d,c2=%c\n",a,x,a,c2);
}
答案的输出:a=107,x=322.000000,a=107,c2=B;
问题就出现在为什么c2输出是 c2=B 呢?
字符型 char
对于单个字符 char ch='B'; 或者 char ch=66; //因为字符在计算器中其实是用asc2 码表存储的,一个字符占一个字节(即8位);
对于字符串 char ch[80]="abcdefg";// ch[80],字符串的长度为80即可以存放79个字符,还有一个到哪去了呢,还有一个 当结束控制符了'\0';
//还有需要提醒的就是 单字符 用 单引号,多字符用双引号;
好啦前面讲的都是写鸡毛蒜皮的事,重点来了,回到上面那个问题 为什么c2输出是 c2=B 呢?
先来个asc2码表
acs2码表的共有128 个字符(0~127);是不是觉得很奇怪呢 c2=322;超过了127呢;
那该怎么办呢,但是c2的输出是 B;
322=2*128+66; //生气的东西又出现了,那个输出的c2=322;对应的字符 B 的asc2码的 值 就是 66;
那么聪明的你应该懂了吧?
其实我们一个字符付上 整形值,则这个整形值就有对应的asc2码值,那么计算机的内部指令是怎么走的呢 加上你输入的是c2=m;这里的m为一个整形数
内部指令为(m+128)mod128= ?;这个问号就是你得到的asc2码值;
如有疑问/错误欢迎广大网友指出:
关于char 型 的 存储实质(asc2码表的)相关推荐
- 面试题:问题:Java中,char型变量中能不能存储一个中文汉字,为什么?
* char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字, * 所以,char型变量中当然可以存储汉字啦.不过,如果某个特殊的汉字没有被包含在 * unicod ...
- char型变量中能不能存储一个中文汉字?为什么?
char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字啦.不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么 ...
- char型变量能不能存储一个中文汉字重写和重载的规则
char型变量能不能存储一个中文汉字(为什么) char类型可以存储一个中文汉字 因为java中使用的编码是Unicode格式,而一个char类型占2个字节(16比特),所以当一个中文汉字是没有问题的 ...
- getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析...
2013-07-18 21:35:58 getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析. char是字符型数 ...
- C++ int型与char型辨析
字节也叫Byte,是计算机数据的基本存储单位,一个Byte是由8个bit组成,bit存储内容是0和1,它是最小的可寻址单元 ,1个字节等于8位二进制.1B(Byte)=8b(bit) 在ASCII码中 ...
- 关于C语言输出ASCII码128~255和有符号char型溢出的问题。此处大坑弄明白了后记录下来分享……
以下代码在Windows控制台正常输出会出现乱码 #include<stdio.h> int main(){char a=197;printf("%c",a);retu ...
- C语言——将数字和数字字符输入给char型变量会如何?
C语言--将数字和数字字符输入给char型变量会如何 char型是字符型变量,而且其存储的内容往往是字符的ASCII码,那么如果将数字赋值给它会如何?与将数字字符赋值给它有何区别? 下面展示三种输入情 ...
- int型和char型之间的类型转换
目前绝大多数编译器,int 型数据占 4 字节, char 型占 1 字节.进行不同数据的强制转换其实就是数据占用字节扩充或者截断. 比如 int a; char b; a=(int)b; b=(ch ...
- C语言char类型的存储
目录 char是如何存储的 char的类型 char的取值范围 例题 char是如何存储的 字符型(char)用于储存字符(character),如英文字母或标点.但是char类型在内存中并不是以字符 ...
- unsigned char型整数
在一些大型的公司编码项目中,喜欢用unsigned char来定义部分整数. 原因有两点: 1.char类型本来是用来存储字母和字符的,但是在技术实现上char却是整数类型,这是因为char类型实际存 ...
最新文章
- UA MATH567 高维统计I 概率不等式5 推广Hoeffding不等式与Khintchine不等式
- std::future ---C++17 多线程
- 看日本如何用IoT打造智能工厂
- 使用FactoryBean定制实例化逻辑
- ZYNQ PS端输出无效时钟供PL使用
- Python 2 结束支持,Ubuntu 20.04 LTS 继续进行将其移除的工作
- 再见 SIM 卡,你好 eSIM !华为回应不上市;熊猫直播正式关停 | 极客头条
- js中字符串类转为日期类,并比较
- 基于tensorflow 批量修改自己的图片数据集 (附代码)
- 【北京迅为】i.MX6ULL终结者Linux RS232/485驱动实验RS232驱动
- 超详细,手把手 教你 SQLyog 安装教程
- 计算机视频剪辑教程,电脑怎么剪辑视频?新手都能上手的视频剪辑教程分享
- 非常实用的“绿色电子地图”
- 深度学习:有监督学习、无监督学习和半监督学习
- 中奖记录html页面,微信小程序 中奖纪录列表滚动
- 测试音响声音啸叫软件,公共广播专业音响系统啸叫声与电流声排除方法_航天广电软件...
- Scratch精通之列表的使用
- JavaScript代码优化 --- 长期更新
- EBMIDE——延缓显示生成,优化用户响应
- 电脑提示计算机缺失程序怎么办,电脑安装扫描仪驱动程序,提示文件丢失怎么办?这样解决...