关于数据在内存中的存放格式

「已注销」 2009-03-16 11:35:13
谭浩强的书中提到:有一个长整数100000,在内存中占4个字节,在内存中的存储形式:
0000000 0000000 10001101 11000000
转化为ASC形式:
00110001 00110000 00110000 00110000 00110000 00110000
用内部格式(二进制形式)为:
00000000 00000001 10001101 11000000
为什么是这样?
我知道数在内存中是以补码形式存放,100000的补码为(4个字节):
00000000 00000001 10000110 10100000
...全文
184 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2009-03-16
  • 打赏
  • 举报
回复
书上写错了,你是对的,100,000的补码就是00000000 00000001 10000110 10100000
内部存储没有所谓进制的概念,虽然物理上你可以认为是二进制,但是逻辑上没有必要去这么想,没有必要突出他是双态开关存储的。也许不久将来他会有新格式出来。

至于ASC形式,我估计是说格式化成字符串的形式,我不明白谭书为什么要用这么稀奇古怪的格式表示,你那一串就是ASCII码100000, '1'的ascii码就是00110001, 也就是0x31,但是他为什么要用二进制形式写出来呢?

老实说,谭老师的书在90年代是非常好的,我就是学他书长大的。但是现在似乎有点过时了
kikizyt 2009-03-16
  • 打赏
  • 举报
回复
我是一个刚毕业的大学生,,能否利用这个平台认识你们,帮我学习一些软件开发知识??真心想学习软件方面的知识.

65,210

社区成员

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

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