VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 728|回复: 9

迷惑中!!!!!字符在内存中和在硬盘中存储区别.

[复制链接]

1

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-29 23:20:01 | 显示全部楼层 |阅读模式
对于下面的这句话不是很明白:
"把一个文本文件读入内存时,要将ASCII码转换成二进制码,而把文件以文本方式写入磁盘时,也要把二进制码转换成ASCII码,因此文本文件的读写要花费较多的转换时间。对二进制文件的读写不存在这种转换".
   请问大家我下面的理解对么?举个例子来说,字符"A"的值是41,在内存中只有一种存储格式就是二进制"101001",而若是把它存储到硬盘上就有两种方式:若是存储为文本文件内容长度就是7个字节,分别存储的是字符1,0,1,0,0,1的ASSCII码值;若是二进制文件就是十进制数值41的二进制值"1001001",只用一个字节.
回复

使用道具 举报

0

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-5 23:30:01 | 显示全部楼层
这话是哪儿看的?
回复

使用道具 举报

1

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-6 14:15:01 | 显示全部楼层
我在一个网页上看到的,不过我记得在谭浩强的那本c语言书上好象也有这句话
回复

使用道具 举报

0

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-7 08:00:01 | 显示全部楼层
8bit(位)=1Byte(字节)
1024Byte(字节)=1KB
1024KB=1MB
1024MB=1GB
1024GB=1TB

首先你研究一下单位问题
计算机 的确是按照 字节存储的
比如 你说的 a  要边成二进制串  那就是 0101001
都是 8个一组的 你可以看看 asc表
别把 bit  和 byte弄混了就好。
所谓二进制 应用在物理层面 就是 “开关”状态。磁盘一个最小单位只能表示 2种状态
所以我们 叫它  有  无  //开  关// 1  0// 是  非
这个都是最小单位了 就是 bit 那么 8个bit一组 是一个 byte
就这个意思。。。。
回复

使用道具 举报

0

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-7 15:00:01 | 显示全部楼层
再给你说个存储 介质的原理把

比如光盘 是怎么工作的呢??

假如空的光盘 是个平面,
那么往里写数字 就是用激光往上打坑。。。。
有坑的地方 是 1 (当然了也可以定义成0 只不过是用来描述状态)
然后 写过数据的光盘就是  一张 坑坑洼洼 的表面
然后读盘的时候就是读这些坑。。。。
具体怎么成坑的 是化学材料了,你有兴趣就上网找找

磁盘呢 就是 磁粉 的悬浮状态了,凡是带磁的,
比如磁带5寸盘3。5寸盘 硬盘。。。。
具体的每一个“坑”或者每一个凸凹 就是 一个 BIT
回复

使用道具 举报

1

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-7 18:30:01 | 显示全部楼层
gameyum:你说的我明白,但是我问的是字符a在内存中和在磁盘文件中存储的区别.
回复

使用道具 举报

0

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-7 20:45:01 | 显示全部楼层
目前的计算机,无论是在硬盘,还是在内存,数据都是以二进制的方式存储,所以在内存里和硬盘里,字符"a"的代码都是一样的.除非内存和硬盘中的编码不同.如果只处理ASCII,那根本用不着多的转换.只不过文本方式读文件,会处理回车换行之类的东西而已.
回复

使用道具 举报

1

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-8 13:45:01 | 显示全部楼层
按照上面的说法,字符A在内存中用一个字节存储的二进制值101001,也就是十进制的41,而在硬盘文件中有两种形式:二进制文件格式,此种格式和内存中的存储相同.但文本格式存储的是什么呢?是用六个字节来存储这个"101001"二进制的字符形式么?
回复

使用道具 举报

1

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-3-8 18:00:01 | 显示全部楼层
谢谢 KTPOPO的帮助!!我有一点不明白,按照您的说法字符a在硬盘上存储就只有一种形式,对么.也就是不分为文本格式还是二进制格式.
回复

使用道具 举报

0

主题

9

帖子

10.00

积分

新手上路

Rank: 1

积分
10.00
发表于 2020-3-12 13:30:01 | 显示全部楼层
对于字母来说没什么区别,有区别的是数值
比如int i
i=32767
那么以文本形式保存i,就是0x33 0x32 0x37 0x36 0x37 这五个字节
如果以二进制保存,就是2个字节(16位系统)

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表