当前位置: 代码迷 >> C语言 >> 数据在计算机中怎样存储的?
  详细解决方案

数据在计算机中怎样存储的?

热度:166   发布时间:2007-11-18 11:16:30.0
以下是引用nuciewth在2007-11-18 11:13:15的发言:
还是你比较直接.

呵呵
没办法了
看楼主还不明白
只能这么说了
其实严格意义上将
我的说法也是错的
数是个抽象的东西,而1本身就是用来表示抽象的数的一个符号,当然偶们把这种符号叫做数字
ps:楼主请无视我这段话,否则你可能又要晕了


----------------解决方案--------------------------------------------------------
数是个抽象的东西,而1本身就是用来表示抽象的数的一个符号,当然偶们把这种符号叫做数字

计算机除了 0 1(其实连这两个都不认识)什么都不认识.

ASCII 1和字符1是不同的两个东西(只能用这个词了).
----------------解决方案--------------------------------------------------------
首先,数据在计算机内是用补码表示的.没有在计算机里用ascii码表示这一说.

ascii码仅仅是一个对照表而已.

你的 a = 1;//a你定义了是char型,你给它传值1(它就认为你直接给它传的是ascii码了);ascii码是0000 0001,定义的控制码是 SOH 这个字符在c里面没有定义.所以笑脸很正常.
----------------解决方案--------------------------------------------------------
'1' 是对应于“字体库”中的符号。

char a = '1'; // 即然是 '1',那就是字符 '1'(阿拉伯数字符号)
char a = 1; // 这是数字 1 没有 ''
char a = '1'; // 是对应于“字体库”中的 1 这个符号的位置





----------------解决方案--------------------------------------------------------
哎~恼人呀..我真他妈笨!!
我理解一下,你看是不是这样的.
如果int a=1;char a=1;  这两个a的asc就是1?.
如果char a='1';或者int a='1'; 这个两个a的asc就是49了?
----------------解决方案--------------------------------------------------------
好象有点明白了
假如赋的值的是数.无论他是什么变量 那么在内存中的存储形式是补码
是字符的话  因为字符没什么补码什么的,所以就以他的asc码的补码存储?

1的补码是0000 0001
'1' 由于是字符 那么1的asc码是49 对应的补码是49的二进制?
我这么理解可以么?
----------------解决方案--------------------------------------------------------
以下是引用dousao在2007-11-18 16:23:46的发言:
好象有点明白了
假如赋的值的是数.无论他是什么变量 那么在内存中的存储形式是补码
是字符的话  因为字符没什么补码什么的,所以就以他的asc码的补码存储?

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

恩..理解就好``继续努力..


----------------解决方案--------------------------------------------------------
  相关解决方案