请问实型在内存中如何表示?

ra3 2003-03-23 08:37:59
比如 3.2 在内存中以二进制的存放形式是什么样谢谢!
...全文
63 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2003-03-23
  • 打赏
  • 举报
回复
参照上面的例子,然后用指针一个个打印出来参考。
yanpinghui 2003-03-23
  • 打赏
  • 举报
回复
我觉得这就是组成原理里面的浮点数规格化的问题啊~~~~~~~~~
具体要说清的话还要看你的机子是多少位的啊!!
webber84 2003-03-23
  • 打赏
  • 举报
回复
double在内存中是这样存放的:

64 63 52 51 0
0 00000000 00000000000000000000000
Sign Exponent Mantissa

Sign表示符号,1正0负;Exponent是指数,但它并不是实际上的指数值,为了表示负数幂,需要用Exponent-1023才得到真正的指数;Mantissa是尾数的小数部分,当Exponent=0时,真正的尾数是
0.Mantissa,否则是1.Mantissa。
bugfree 2003-03-23
  • 打赏
  • 举报
回复
我写了一个函数, 可以打印任意的float数的二进制代码, 不过我没有调试, 应该没有问题的:

int f(float f)
{
char *p = static_cast<char*>f;

for (int j=0; j<4; j++, p++)
{
for (int i=7; i>=0; --i)
{
if(*p && 1<<i) cout<<"1";
else cout<<"0";

}
cout<<" ";
}
return 0;
}
yuanhen 2003-03-23
  • 打赏
  • 举报
回复
CD CC 4C 40 -- 从低到高排列
3.2 = 0x404ccccd
trackant 2003-03-23
  • 打赏
  • 举报
回复
计算机把存储单元比如4个字节分成两部分(具体怎么分标准c没有规定),一部分用来存小数一部分用来存指数。第一部分位数越多有效数字越多,第二部分越多所能表示的数的范围越大。3.2是存成 0。32 | e10的形式的,当然它是用二进制表示。
bugfree 2003-03-23
  • 打赏
  • 举报
回复
这里有详细的解释:

http://www.parashift.com/c++-faq-lite/newbie.html#faq-29.16
1 C语言概述 1.1 C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 C语言的字符集 1.12 C语言词汇 1.13 Turbo C 2.0集成开发环境的使用 1.13.1 Turbo C 2.0简介和启动 1.13.2 Turbo C 2.0集成开发环境 1.13.3 File菜单 1.13.4 Edit菜单 1.13.5 Run菜单 1.13.6 Compile菜单 1 1.13.7 Project菜单 1.13.8 Options菜单 1.13.9 Debug菜单 1.13.10 Break/watch菜单 1.13.11 Turbo C 2.0的配置文件 2 程序的灵魂—算法 2.1 算法的概念 21 2.2 简单算法举例 21 2.3 算法的特性 24 2.4 怎样表示一个算法 24 2.4.1 用自然语言表示算法 24 2.4.2 用流程图表示算法 24 2.4.3 三种基本结构和改进的流程图 28 2.4.4 用N-S流程图表示算法 29 2.4.5 用伪代码表示算法 30 2.4.6 用计算机语言表示算法 31 2.5 结构化程序设计方法 31 3 数据类型、运算符与表达式 3.1 C语言的数据类型 32 3.2 常量与变量 33 2 3.2.1 常量和符号常量 33 3.2.2 变量 33 3.3 整型数据 34 3.3.1 整型常量的表示方法 34 3.3.2 整型变量 35 3.4 实型数据 37 3.4.1 实型常量的表示方法 37 3.4.2 实型变量 38 3.4.3 实型常数的类型 39 3.5 字符型数据 39 3.5.1 字符常量 39 3.5.2 转义字符 39 3.5.3 字符变量 40 3.5.4 字符数据在内存的存储形式及使用方法 41 3.5.5 字符串常量 41 3.5.6 符号常量 42 3.6 变量赋初值 42 3.7 各类数值型数据之间的混合运算 43 3.8 算术运算符和算术表达式 44 3.8.1 C运算符简介 44 3.8.2 算术运算符和算术表达式 45 3.9 赋值运算符和赋值表达式 47 3 3.10 逗号运算符和逗号表达式 48 3.11 小结 49 3.11.1 C的数据类型 49 3.11.2 基本类型的分类及特点 49 3.11.3 常量后缀 49 3.11.4 常量类型 49 3.11.5 数据类型转换 49 3.11.6 运算符优先级和结合性 50 表达式 50 4 最简单的C程序设计—顺序程序设计 4.1 C语句概述 51 4.2 赋值语句 53 4.3 数据输入输出的概念及在C语言的实现 54 4.4 字符数据的输入输出 54 4.4.1 putchar 函数(字符输出函数) 54 4.4.2 getchar函数(键盘输入函数) 55 4.5 格式输入与输出 55 4.5.1 printf函数(格式输出函数) 56 4.5.2 scanf函数(格式输入函数) 58
该word文档对c语言的内容作出了详细的介绍, (他是个压缩包) 包括了13章的详细介绍,相信大家对C语言一定会有浓厚的兴趣 第一章:1 C语言概述 1.1 C语言的发展过程 1.2 当代最优秀的程序设计语言 1.3 C语言版本 1.4 C语言的特点 1.5 面向对象的程序设计语言 1.6 C和C++ 1.7 简单的C程序介绍 1.8 输入和输出函数 1.9 C源程序的结构特点 1.10 书写程序时应遵循的规则 1.11 C语言的字符集 1.12 C语言词汇 1.13 Turbo C 2.0集成开发环境的使用 1.13.1 Turbo C 2.0简介和启动 1.13.2 Turbo C 2.0集成开发环境 1.13.3 File菜单 1.13.4 Edit菜单 1.13.5 Run菜单 1.13.6 Compile菜单 1.13.7 Project菜单 1.13.8 Options菜单 1.13.9 Debug菜单 1.13.10 Break/watch菜单 1.13.11 Turbo C 2.0的配置文件 第二章2 程序的灵魂—算法 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.4.1 用自然语言表示算法 2.4.2 用流程图表示算法 2.4.3 三种基本结构和改进的流程图 2.4.4 用N-S流程图表示算法 2.4.5 用伪代码表示算法 2.4.6 用计算机语言表示算法 2.5 结构化程序设计方法 2 第三章:3 数据类型、运算符与表达式 1 3.1 C语言的数据类型 1 3.2 常量与变量 3 3.2.1 常量和符号常量 3 3.2.2 变量 3 3.3 整型数据 4 3.3.1 整型常量的表示方法 4 3.3.2 整型变量 5 3.4 实型数据 7 3.4.1 实型常量的表示方法 7 3.4.2 实型变量 8 3.4.3 实型常数的类型 9 3.5 字符型数据 9 3.5.1 字符常量 9 3.5.2 转义字符 9 3.5.3 字符变量 10 3.5.4 字符数据在内存的存储形式及使用方法 10 3.5.5 字符串常量 11 3.5.6 符号常量 12 3.6 变量赋初值 12 3.7 各类数值型数据之间的混合运算 13 3.8 算术运算符和算术表达式 14 3.8.1 C运算符简介 14 3.8.2 算术运算符和算术表达式 15 3.9 赋值运算符和赋值表达式 17 3.10 逗号运算符和逗号表达式 18 3.11 小结 19 3.11.1 C的数据类型 19 3.11.2 基本类型的分类及特点 19 3.11.3 常量后缀 19 3.11.4 常量类型 19 3.11.5 数据类型转换 19 3.11.6 运算符优先级和结合性 20 3.11.7 表达式 20 还有其他的章节,请下载后详细的了解

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧