使用OpenCV对图像进行处理时,总会有一个疑问:
对char字符进行运算时,为什么它能转换成ascii码对应的十进制进行运算?
char 型变量,实际上是1字节 整型。
short int 是 2 字节 整型.
long int 是 4 字节 整型.
所以 char, short int, long int 都可以放在一起做整型运算。
short int 是 2 字节 整型.
long int 是 4 字节 整型.
所以 char, short int, long int 都可以放在一起做整型运算。
只是它们的数值许可范围不同,char 型范围 是 0到255。
char 型,与short int, long int 一样,在计算机内,用的是2进制。
输入输出可以用 10进制,16进制,8进制。
当输出格式用 %c 时,它们都可以输出为字符,当输入格式用 %c 时,它们都可以把输入的字符转为整型ascii码值。
例如:
short int si=65;
long int li=66;
char c=67;
printf("%c %c %c",si,li,c);
输出:A B C
------------------------
例如:
scanf("%c %c %c",&si,&li,&c); 若拍入 a b c
printf("%d %d %d",si,li,c); 打印出 97 98 99
附AscII码表一张:
![](https://i-blog.csdnimg.cn/blog_migrate/62626dd150fa63cfdafbd6ef5791bbfc.jpeg)