借助类型转化考察浮点数在内存中表示的一个心得
2012-02-26 19:42
387 查看
#include <IOSTREAM> #include <STDIO.H> #include <STRING.H> #include <conio.H> using namespace std; int main() { float a = 1.0f;//在内存中的十六进制表示为3f800000(按照IEEE754标准) std::cout << (int)a <<endl;1 std::cout << &a <<endl;//输出的是变量a的地址0012FF7C //(int&)a相当于将该浮点数地址开始的sizeof(int)个字节当成int型的数据输出, //会把内存值3f800000当作int型输出,所以结果为1065353216 std::cout << (int&)a <<endl; //boolalpha 用符号形式表示真假。cout << boolalpha << ( str1==str2 ) << endl; //如果str1==str2,则输出true,不等输出false. std::cout << boolalpha << ((int)a == (int&)a) <<endl; float b = 0.0f; std::cout << (int)b <<endl//0 std::cout << &b <<endl;//0012FF78 std::cout << (int&)b <<endl;//0 std::cout << boolalpha << ((int)b == (int&)b) <<endl;//true return 0; }
这个代码让我看得很兴奋哈,把计算机组成原理的知识也糅合进去了
另外,另外也学习到了boolalpha的用法
相关文章推荐
- 借助类型转化考察浮点数在内存中表示的一个心得
- C语言学习-数据类型本质(表示一个内存格子的长度和解析方法)
- 如何将一个包含颜色信息的长整类型转化为 RGB 表示
- 将一个正整数N用二进制表示并转化为一个string类型的值s
- C语言中数据类型的本质含义是:表示一个内存格子的长度和解析方法
- 典型的Top K算法_找出一个数组里面前K个最大数...或找出1亿个浮点数中最大的10000个...一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存,
- 将一个值的类型转化成与其属性对应的类型Convert.ChangeType
- Sql server 的表值函数是返回一个Table类型,table类型相当与一张存储在内存中的一张虚拟表。
- 关于浮点数在内存当中的表示
- 【转】float类型在内存中的表示
- 将一个正整数转化为二进制并用字符串表示输出
- 负数在内存中的表示,int类型取值范围
- 由(int&)a引发的思考及浮点数在内存中的表示
- 给定一个字符串类型表示的小数,输出其二进制表示
- C语言中float类型在内存中的表示
- 内存区域强制转化某类型后的函数调用
- 网络 发一个Long类型的数转化为字节数组从客户端发到服务端
- C++实现将一个字符串转化为double类型
- Oracle中把一个DateTime的字符串转化成date类型。to_date('2016/12/8 18:55:43','yyyy/MM/dd hh24:mi:ss'),
- Java中方法内的参数和变量内存地存放问题,及形参实参内存存放,数值类型转化问题