以二进制方式输出数字在内存中的存储形式
2008-11-27 21:30
405 查看
对于二进制表示的float类型的2.5,其在内存中的表示为01000000 00100000 00000000 00000000,如果我们想打印出它在内存中是如何表示的,那么我们可以用1进行移位,与每个比特进行与运算,还是看看代码吧:
对于输入参数,在visual studio下可以点击项目->属性->配置属性->调试->命令参数进行输入,在visual c++6.0可以点击工程->设置->调试->程序变量里输入。输入2.5打印看看,其结果与我们预期相同。
对于输入参数,在visual studio下可以点击项目->属性->配置属性->调试->命令参数进行输入,在visual c++6.0可以点击工程->设置->调试->程序变量里输入。输入2.5打印看看,其结果与我们预期相同。
#include <cstdlib> #include <iostream> using namespace std; void printBinary(const unsigned char val) { for (int i = 7;i>=0;i--) if(val&(1<<i)) cout<<"1"; else cout<<"0"; } int main(int argc,char** argv) { if (argc!=2) { cout<<"Provide a number"<<endl; exit(0); } float d = (float)atof(argv[1]); unsigned char* cp = (unsigned char*)(&d); for (int i = 0; i<sizeof(float); i++) { printBinary(cp[sizeof(float)-1-i]); cout<<" "; } return 0; }
相关文章推荐
- 以二进制方式输出数字在内存中的存储形式
- 输出内存中存储的二进制表示形式
- 【输出一个整数的二进制存储形式】
- 计算机内存对数字的存储方式——原码、反码、补码
- C 将一个整数输出为内存中的存储形式
- 获得一个数据在内存中存储的二进制形式
- 屏幕输入一个16以内的数字,以二进制的方式输出它
- C++中负数的二进制表示(内存中的存储形式)
- 输出数字在内存中呈现的二进制数值
- 将任意一个十进制数数字转换为二进制形式,并输出转换后的结果
- 用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串
- LeetCode425——Add Strings(两个字符串中的数字相加(十进制或二进制),输出字符串形式的结果)
- 黑马程序员——【C语言】输出整数在内存中的二进制形式
- 关于整数在内存中的二进制存储方式,打印一个整数的二进制的几种方式
- 输出输入的任意整数的二进制存储形式
- 十进制浮点型数据转换成二进制,并在内存中的存储方式
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- C语言中以二进制形式输出文件
- java中的各种数据类型在内存中存储的方式
- C语言中float,double类型,在内存中的结构(存储方式).