C类型转换
来源:互联网 发布:威风堂堂动作数据下载 编辑:程序博客网 时间:2024/06/10 00:31
int main(void){signed short A = -10;printf("~A = %u\n", ~A);char c = 128;printf("c=%d\n",c);return 0;}
通过这个简单的测试,发现自己对类型转换的规则的细节需要做一个分析,以明确转化时的规则。
1.char转为为int类型,即有符号signed char转换为signed int:
char类型占1字节内存大小,int类型占4字节,所以char转为int,在int类型变量高位前3个字节要填充,填充位的二进制为char类型最高位的比特,如
char a=0x11;// 0001 0001(1字节)
int b=a;//前3字节补0
转化后b的十六进制为0x00000011
char a=0x81;// 1000 0001
int b=a;//前三个字节补1 转化后b的十六进制为0xffffff81
2.unsigned char转为int又是不同的,
unsigned char a=0xf1;//或a=0x11;(最高位是1或0的差别)
int b=a;
printf("%x\n",b);
这里无论无符号char类型变量的最高比特是0或1,转为有符号int类型时,int前面高三位字节都是补0
0 0
- <C/C++> 类型转换
- C/C++:类型转换
- C类型转换
- C#.NET 类型转换
- 类型转换(C#)
- C指针类型转换
- 类型转换--c语言
- C语言类型转换
- C语言类型转换
- C/C++类型转换
- C语言类型转换
- C++_类型转换
- objective-c 类型转换
- objective-c类型转换
- 标准C 类型转换
- c类型转换
- C类型转换
- c类型转换char2short
- Spring之控制反转和依赖注入
- logback简述(一)
- Spring MVC 流程图
- JS实现上传图片预览功能
- jQuery之事件对象/大数据,云计算,分布式,负载均衡,集群,微服务详解
- C类型转换
- MySQL 基础
- Socket Demo
- 蓝桥杯java第八届第八题--包子凑数
- redis list结构体中支持多种数据格式的实现
- mac 安装MySQL-python
- Unity 场景存在多个烘焙光照效果
- Linux常用命令(30)之特殊权限管理ACL
- pc测试csdn博客1-20170414