社区
新手乐园
帖子详情
浮点数在内存中的存储方式
重庆-老白
2010-10-14 06:05:14
看到一个十进制的0.5=二进制的0.1
浮点数在内存中的存储方式有点难理解。。谁能详细说下吗?
特别是12.1875转化成二进制。。怎么弄呀?
...全文
127
12
打赏
收藏
浮点数在内存中的存储方式
看到一个十进制的0.5=二进制的0.1 浮点数在内存中的存储方式有点难理解。。谁能详细说下吗? 特别是12.1875转化成二进制。。怎么弄呀?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2010-10-20
打赏
举报
回复
推荐阅读《程序员的自我修养——链接、装载和库》
赵4老师
2010-10-20
打赏
举报
回复
[Quote=引用 10 楼 bzy_net 的回复:]
据我所知,汇编是很难学的。【世上无难事,只要肯登攀。】您的意思是学c的人只有理解C和汇编的关系`才能更好的理解c语言,是吗?【是的】
那就必须得学汇编啊?或者只是汇编的大概意思?【了解汇编的大概即可】
我想学c,现在只是想把c语言学好,没去管什么算法,或者其他关联的。。希望老师们给个建议啊。
[/Quote]
回答在上面【】中
重庆-老白
2010-10-15
打赏
举报
回复
0。1875*2=0。375\*这个是二进制吗。。可能吗?
Cwchen0422
2010-10-15
打赏
举报
回复
小数点前面是除以2,小数点后面是乘以2。
重庆-老白
2010-10-15
打赏
举报
回复
据我所知,汇编是很难学的。您的意思是学c的人只有理解和汇编的关系`才能更好的理解c语言,是吗?
那就必须得学汇编啊?或者只是汇编的大概意思?
我想学c,现在只是想把c语言学好,没去管什么算法,或者其他关联的。。希望老师们给个建议啊。
赵4老师
2010-10-15
打赏
举报
回复
http://course.cug.edu.cn/cugFirst/computer_composing/study/%B5%DA%B6%FE%D5%C22.1.1.htm
赵4老师
2010-10-15
打赏
举报
回复
[Quote=引用 5 楼 bzy_net 的回复:]
网上讨论各种数型在内存里的存储方式还很热烈的。。难道这个存储方式在学c中很重要吗?
字符'\378'的存储方式是怎样算的呀?
ASCII的代码是十进制的吗?我们要用的时候是不是直接用,不用转换成八进制?
[/Quote]
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构……
VC调试时按Alt+8,TC或BC用TD调试,打开汇编窗口看每句C对应的汇编不就啥都明白了吗。
(Linux或Unix下应该也可以在用GDB调试时,看每句C对应的汇编。)
想要从本质上理解C指针,必须学习汇编以及C和汇编的对应关系。
从汇编的角度理解和学习C语言的指针,原本看似复杂的东西就会变得非常简单!
重庆-老白
2010-10-14
打赏
举报
回复
网上讨论各种数型在内存里的存储方式还很热烈的。。难道这个存储方式在学c中很重要吗?
字符'\378'的存储方式是怎样算的呀?
ASCII的代码是十进制的吗?我们要用的时候是不是直接用,不用转换成八进制?
elegant87
2010-10-14
打赏
举报
回复
特别是12.1875转化成二进制。。怎么弄呀?
分两部分进行转换的
整数部分/2操作,小数部分*2操作的,等于1的时候为1,然后取小数部分
12=(1100)
0.1875=(0.0011)
Proteas
2010-10-14
打赏
举报
回复
[Quote=引用 1 楼 jixingzhong 的回复:]
IEEE浮点数表示法:
http://dev.csdn.net/htmls/28/28201.html
按照IEEE浮点数表示法,将float型浮点数123.456f转换为十六进制代码。对于这种带小数的就需要把整数部和小数部分开处理。整数部直接化二进制:100100011。小数部的处理比较麻烦一些,也不太好讲,可能反着讲效果好一点,比如有一个十进制纯小数0.57826,那么5是十分位,位……
[/Quote]
查看 IEEE 的标准。
shenchenman
2010-10-14
打赏
举报
回复
二进制转十进制:
0.1=(1/2)^1
0.01=(1/4)^1以此类推
jixingzhong
2010-10-14
打赏
举报
回复
IEEE浮点数表示法:
http://dev.csdn.net/htmls/28/28201.html
按照IEEE浮点数表示法,将float型浮点数123.456f转换为十六进制代码。对于这种带小数的就需要把整数部和小数部分开处理。整数部直接化二进制:100100011。小数部的处理比较麻烦一些,也不太好讲,可能反着讲效果好一点,比如有一个十进制纯小数0.57826,那么5是十分位,位阶是1/10;7是百分位,位阶是1/100;8是千分位,位阶是1/1000……,这些位阶分母的关系是10^1、10^2、10^3……,现假设每一位的序列是{S1、S2、S3、……、Sn},在这里就是5、7、8、2、6,而这个纯小数就可以这样表示:n = S1 * ( 1 / ( 10 ^ 1 ) ) + S2 * ( 1 / ( 10 ^ 2 ) ) + S3 * ( 1 / ( 10 ^ 3 ) ) + …… + Sn * ( 1 / ( 10 ^ n ) )。把这个公式推广到b进制纯小数中就是这样:
n = S1 * ( 1 / ( b ^ 1 ) ) + S2 * ( 1 / ( b ^ 2 ) ) + S3 * ( 1 / ( b ^ 3 ) ) + …… + Sn * ( 1 / ( b ^ n ) )
浮
点数
在
内存
中
的
存储
格式.rar
浮
点数
在
内存
中
的
存储
格式
浮
点数
在
内存
中
的
存储
格式
浮
点数
在计算机
内存
中
的
存储
格式
浮
点数
在计算机
内存
中
的
存储
格式
oeasy教您玩转python入门教程
Python编程基础教程本教程旨在帮助初学者了解Python编程的基础知识和高级应用。我们将介绍Python的各个方面,包括基础语法、数据类型、控制结构、函数、文件操作、面向对象编程、模块和包、异常处理、装饰器、生成器、迭代器以及协程。1. Python基础Python是一种解释型、交互式的编程语言。它具有简单易学的语法和丰富的库,使得开发过程既快速又高效。在开始学习Python之前,建议您先熟悉基本的计算机科学概念,例如变量、数据类型、运算符等。2. 数据类型Python具有多种数据类型,包括数字(整数和
浮
点数
)、字符串、布尔值、列表、元组、集合和字典等。这些数据类型在Python
中
有着广泛的应用,从简单的数值计算到复杂的数据处理。3. 控制结构控制结构是编程
中
的基本组成部分,它们决定了程序如何执行。Python支持条件语句(if-elif-else)和循环语句(for和while),可以根据程序
中
的特定条件和情况来选择适当的操作。4. 函数函数是封装一段代码的便捷
方式
,它们可以在需要时被调用。在Python
中
,您可以定义函数,并使用参数来传递数据。函数可以返回值,以便在调用它们时使用。5. 文件操作文件操作是编程
中
常见的任务之一。Python提供了许多内置的函数和方法来进行文件操作,如读取、写入和删除文件等。此外,Python还支持对文件进行高级操作,如读写二进制文件、文件锁定等。6. 面向对象编程面向对象编程是一种流行的编程范式,它使用类和对象的概念来构建复杂的系统。Python支持面向对象编程,您可以使用类来定义对象,并使用继承和多态等特性来扩展和定制对象的行为。7. 模块和包模块和包是Python
中
组织代码的重要工具。模块是一个包含Python代码的文件,而包则是一个包含多个模块的目录。通过使用模块和包,您可以轻松地组织和管理大型项目
中
的代码。8. 异常处理异常处理是Python
中
处理错误的
方式
之一。当程序
中
出现错误时,Python会抛出一个异常。通过使用try-except语句块,您可以捕获并处理这些异常,以确保程序的稳定性。9. 装饰器装饰器是Python
中
的高级功能之一,它允许您在函数或方法之间添加额外的功能,而不改变其原始实现。装饰器是一种强大的工具,可用于实现各种功能,如日志记录、性能分析等。10. 生成器生成器是Python
中
的一种特殊类型的迭代器。通过使用生成器函数和方法,您可以在需要时生成数据,而不是一次性生成所有数据。这使得生成器在处理大量数据时非常有用,因为它们可以节省
内存
空间。11. 迭代器和协程迭代器和协程是Python
中
的两个重要概念。迭代器允许您遍历容器类型的数据结构(如列表和元组),而协程则是一种异步编程的
方式
,它允许您在程序
中
执行多个任务并发执行。这两个概念在处理大量数据和高性能应用程序方面非常有用。
深入C/C++
浮
点数
在
内存
中
的
存储
方式
详解
本篇文章是对C/C++
浮
点数
在
内存
中
的
存储
方式
进行了详细的分析介绍,需要的朋友参考下
C/C++的
浮
点数
在
内存
中
的
存储
方式
分析及实例
C/C++的
浮
点数
在
内存
中
的
存储
方式
分析 任何数据在
内存
中
都是以二进制的形式
存储
的,例如一个short型数据1156,其二进制表示形式为00000100 10000100。则在Intel CPU架构的系统
中
,存放
方式
为 10000100(低地址单元) 00000100(高地址单元),因为Intel CPU的架构是小端模式。但是对于
浮
点数
在
内存
是如何
存储
的?目前所有的C/C++编译器都是采用IEEE所制定的标准
浮
点格式,即二进制科学表示法。 在二进制科学表示法
中
,S=M*2^N 主要由三部分构成:符号位+阶码(N)+尾数(M)。对于float型数据,其二进制有32位,其
中
符号位1
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章