c语言问题,关于文件的

 我来答
静音双子_195
2013-07-13 · TA获得超过224个赞
知道答主
回答量:148
采纳率:94%
帮助的人:55.6万
展开全部
回答楼主问题的时候,我们先假设这样一个事情int为4个字节,char为1个字节。
然后我们在确定一件事,就是window操作系统对于文件的读取写入都是以字节为单位。
接下来就是一些比较基础的东西。(可能你们还没有学)
1在int里面与char里面的存放有什么差别(假设二进制是直接原码存放,我比较好说)
举例:
int : 00000000 00000000 00000000 00000001
char: 00000001
也就是说0~255的数在int、char里面存放时候,显示出来时一样的,就是说一个int被分成4个char型存放。
现在我们看看 256这个数在int、char里面的存放
int: 00000000 00000000 00000001 00000000
char: 00000000
这个时候就产生差别了

回答:
因此,对于你的1001显示不出来的原因。我们可以这样看下
int存放1001的二进制码: 00000000 00000000 00000011 11101001
把他解释为4个char的10进制码:(0)(0)(3)(233)
ASCII码的取值范围(0~128),超过部分就用扩展码解释,所以照成你里面有乱码。

同样,我们把4个char存放1001的二进制形式: 00000001 00000000 00000000 00000001
那我们把4个char转为int(10进制)型,其值明显不等于1001。产生这个问题的原因就是操作系统对于数据的解释不同照成的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式