C++基本数据类型直接的转换
2012-08-03 16:57
393 查看
1、unsigned int转换为int(内容不变,但是要分正负号)
unsigned int a = 65535; //11111111 11111111 11111111 11111111(原码)
int b=a; //b = -1 //10000000 0000000000000000 00000001(补码)
2、int、long转换为char(低八位发生截断存放到char)
int i=289; // 00000000 00000001 0010 0001
char c=i; // 0010 0001 ----- 33
long int转换为int(原封不动存放到int)
3、char转换为int
char类型转换为无符号int类型,char的八位直接存放到int低位存储单元,高位直接补0
char a = -1; //11111111 11111111
unsigned int b=a; //00000000 00000000 11111111 11111111
char类型转换为有符号int类型,char的八位直接存放到int低位存储单元,高位进行符号扩展
char a = -1; //11111111 11111111
int b = a; //11111111 11111111 11111111 11111111 ---- -1
4、浮点数存储
符号位
阶码(指数位) 尾数(小数位) 指数偏移量
单精度浮点数 1位[31] 8位 [30-23] 23位 [22-00] 127
双精度浮点数 1 位[63] 11 位[62-52] 52 位[51-00] 1023
例:float型浮点数125.5转化成32位二进制浮点数
125.5的二进制码为1111101.1,
写成二进制的科学计数为:1.111101*2^6(因为科学计数法“整数”部分大于1,在二进制中,“整数”部分只能恒为1)即向左移6位;
则e=6,则E=e+127=133,而E的二进制码为10000101,而1.111101把“整数”部分去除1之后为111101,之后补0,共23b,形成了阶码。
所以125.5的32位二进制浮点数为 0 1000010111110100000000000000000
unsigned int a = 65535; //11111111 11111111 11111111 11111111(原码)
int b=a; //b = -1 //10000000 0000000000000000 00000001(补码)
2、int、long转换为char(低八位发生截断存放到char)
int i=289; // 00000000 00000001 0010 0001
char c=i; // 0010 0001 ----- 33
long int转换为int(原封不动存放到int)
3、char转换为int
char类型转换为无符号int类型,char的八位直接存放到int低位存储单元,高位直接补0
char a = -1; //11111111 11111111
unsigned int b=a; //00000000 00000000 11111111 11111111
char类型转换为有符号int类型,char的八位直接存放到int低位存储单元,高位进行符号扩展
char a = -1; //11111111 11111111
int b = a; //11111111 11111111 11111111 11111111 ---- -1
4、浮点数存储
符号位
阶码(指数位) 尾数(小数位) 指数偏移量
单精度浮点数 1位[31] 8位 [30-23] 23位 [22-00] 127
双精度浮点数 1 位[63] 11 位[62-52] 52 位[51-00] 1023
例:float型浮点数125.5转化成32位二进制浮点数
125.5的二进制码为1111101.1,
写成二进制的科学计数为:1.111101*2^6(因为科学计数法“整数”部分大于1,在二进制中,“整数”部分只能恒为1)即向左移6位;
则e=6,则E=e+127=133,而E的二进制码为10000101,而1.111101把“整数”部分去除1之后为111101,之后补0,共23b,形成了阶码。
所以125.5的32位二进制浮点数为 0 1000010111110100000000000000000
相关文章推荐
- C++中各种基本数据类型转换为string类型
- Day2 String 字符串类型不能直接转换成基本数据类型
- C++之基本数据类型转换和转换函数
- 0710C++基本数据类型之间的转换
- C++的一些基本数据类型转换
- C++基本数据类型及类型转换
- C++中sprintf实现将一个基本数据类型的数组转换成字符串
- C/C++ 基本数据类型之间的相互转换 int / char / string / vector windows与linux通用
- C++程序员学Java系列之五:常量,变量,基本数据类型及转换
- C++中类类型和基本数据类型的转换
- 总结c/c++中各种基本数据类型转换方法
- (3)JavaScript基础(基本语法:变量与数据类型、类型转换、运算符、流程控制、函数、对象、自定义对象、原型)
- 数据类型总结c++的应用,转换
- Windows,C++中各种数据类型的转换---很有用!
- day03 可以互相转换的基本数据类型的自动转换和强制转换
- 黑马程序员--06.基本数据类型包装类--【强制类型转换】【强转VS专用方法转换】【个人总结】
- C++数据类型转换详解
- C/C++ 基本数据类型
- C/C++基本数据类型及字长 (经常忘)
- C++数据类型:基本数据类型 构造数据类型(自定义数据类型)