标题:数据在计算机中怎样存储的?
取消只看楼主
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
结帖率:75%
 问题点数:0 回复次数:5 
数据在计算机中怎样存储的?

char a,b;
a = 1;

a在内存里就是00000001,因为它是char类型的,编译器就把它按照字符处理,输出时转换成ascii码为1的控制字符

b = '1';

b在内存里是00110001,它是char类型的,编译器按照字符处理,输出时换成ascii码为0x31的字符即屏幕上显示出来的字符'1'
======================================
不是所有信息数据,存储在计算机都是ascii码么?1的ascii码是49吧?为什么在内存里是00000001?这是他的2进制吧?所以我就认为他在内存中也是按照00110001存储的,对不对?
费解,学校老师说的不是很详细,自己又想搞懂,不好意思,麻烦大家了.

搜索更多相关主题的帖子: 计算机 内存 ascii 数据 字符 
2007-11-18 09:53
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
这我知道呀...int是2个字节16位,char就是1个8位,但是数据不都是一样的么?前面补0罢了....换算成D,不都是49么?
为什么用%c输出1就是笑脸,'1'就是49呢?
还是不懂.不好意思..

同行售各专业书籍,全1折,淘宝店:http://maishu.
2007-11-18 10:20
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
"而ascii码为1的字符"


1的ascii码怎么是1?我能记住的是0是48,1是49呀?  
如果ascii码是1的话d输出肯定是1,c输出肯定是笑脸.这个我理解.







就这里卡住了,一定要解释下,

同行售各专业书籍,全1折,淘宝店:http://maishu.
2007-11-18 10:57
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
斑竹还是没明白我意思,,我的想法是说
为什么整数1的ascii的asc值也是1?  你不是说    "ascii码为1"
他的asc怎么就"为一了"呢?

同行售各专业书籍,全1折,淘宝店:http://maishu.
2007-11-18 11:02
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
哎~恼人呀..我真他妈笨!!
我理解一下,你看是不是这样的.
如果int a=1;char a=1;  这两个a的asc就是1?.
如果char a='1';或者int a='1'; 这个两个a的asc就是49了?

同行售各专业书籍,全1折,淘宝店:http://maishu.
2007-11-18 16:14
dousao
Rank: 2
等 级:论坛游民
帖 子:228
专家分:58
注 册:2007-11-8
得分:0 
好象有点明白了
假如赋的值的是数.无论他是什么变量 那么在内存中的存储形式是补码
是字符的话  因为字符没什么补码什么的,所以就以他的asc码的补码存储?

1的补码是0000 0001
'1' 由于是字符 那么1的asc码是49 对应的补码是49的二进制?
我这么理解可以么?

同行售各专业书籍,全1折,淘宝店:http://maishu.
2007-11-18 16:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-186888-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052584 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved