正数,负数,小数是如何存储的

TOOCROWN 2011-10-11 09:49:11
在matlab save了一个负数,文件名1.mat

在C下用fopen和fread能把这个负数读出来,


存储的是二进制吗?

谁能详解正数,负数,小数如何二进制存储的。
最好能通俗点!

谢谢!
...全文
258 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿霖 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 alin4187 的回复:]
1、正负数 都是采用反码的方式存储 只是计算反码的规则不同 具体你百度一下
2、浮点数 是采用的类似科学计数的方式存储 具体的你也可以百度一下
[/Quote]

抱歉 打错了 应该是补码
AndyZhang 2011-10-11
  • 打赏
  • 举报
回复
补码表示
赵4老师 2011-10-11
  • 打赏
  • 举报
回复
搜“浮点表示法”
推荐使用WinHex软件查看文件原始字节内容。
TOOCROWN 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 liguogezi 的回复:]

引用 6 楼 qq120848369 的回复:

你打开文件看能否显示出那个数字,显示不出来那就是二进制.

你不必管二进制是什么,反正把它原封不动的读进来就对了,显示的时候会根据二进制的符号位决定是正数还是负数.



我就这样做的,但是不知道怎么就读出来了。
[/Quote]
而且小数,负数也能读出来!
TOOCROWN 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 qq120848369 的回复:]

你打开文件看能否显示出那个数字,显示不出来那就是二进制.

你不必管二进制是什么,反正把它原封不动的读进来就对了,显示的时候会根据二进制的符号位决定是正数还是负数.
[/Quote]


我就这样做的,但是不知道怎么就读出来了。
qq120848369 2011-10-11
  • 打赏
  • 举报
回复
你打开文件看能否显示出那个数字,显示不出来那就是二进制.

你不必管二进制是什么,反正把它原封不动的读进来就对了,显示的时候会根据二进制的符号位决定是正数还是负数.


MYMGrub 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 namelij 的回复:]

去看计算机组成原理
[/Quote]
恩恩,我现在只记得这本书讲了2进制...
阿霖 2011-10-11
  • 打赏
  • 举报
回复
1、正负数 都是采用反码的方式存储 只是计算反码的规则不同 具体你百度一下
2、浮点数 是采用的类似科学计数的方式存储 具体的你也可以百度一下
Vincent_Song 2011-10-11
  • 打赏
  • 举报
回复
呵呵,二进制数据编码。
  • 打赏
  • 举报
回复
去看计算机组成原理
Roy_Smiling 2011-10-11
  • 打赏
  • 举报
回复
原码 反码 补码

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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