首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

变量在电脑内存储的到底是什么

2012-11-26 
变量在计算机内存储的到底是什么?变量在计算机内存储的到底是什么?是以什么样的形式存储在内存中的?一直以

变量在计算机内存储的到底是什么?

变量在计算机内存储的到底是什么?是以什么样的形式存储在内存中的?

一直以来我都有一个疑问,char b[2] = {-10,10};

         b[0],b[1]在内存中存放的数据是什么样的?我知道计算机内部只认识二进制,最高位为符号位,代表:正负;

那么我很容易猜想很可能会是如下存储方式的:

         -10:10001010 10: 00001010;

 

         但是真的会是这样吗?(活了20多年了,让我明白一点:生活往往不会如我想想的那样的,于是我乎,我要来验证他)

程序1:

变量在电脑内存储的到底是什么

         通过vs2010,在Debug下打开内存窗口,调试程序(1)发现真正存储在内存的数据是

变量在电脑内存储的到底是什么

(f6,0a)这是16进制,转成二进制(11110110 , 0000 1010);我发现10的存储数据我猜对了,但是-10的却错了!

认真想想,这是怎么回事?…..

….

记得以前在《数字逻辑》里学过”原码”,”反码” , “补码”;(其实我们的猜想就是原码)

然后再看看1111 0110-----这不正是-10的补码吗?

难道计算机是以补码的形式存储数据的?

多试几个数据,我靠,我发现真的是这样子的;计算机内部存储的是数据的补码!

那为什么,要使用补码呢?为什么不用”原码”,原码对于我们人来说,不是更好理解吗!

计算机为什么使用补码来存储数据:http://blog.csdn.net/jiese1990/article/details/8209178

1楼JJLAM1103昨天 23:18
。。。。。大学没听课.....计算机补码方便加减法运算...
Re: jiese1990昨天 09:47
回复JJLAM1103n呵呵,大学听的都还给老师去了,那时候稀里糊涂的,也没怎么听进去,搞得现在要补课啦!谢谢你提醒,现在我知道补码的好处,不仅仅方便加减法!

热点排行