1.数据在内存中是以二进制的补码形式存储的。用户输入的信息都转化成ASCII码值的补码形式存储到内存中。
2.存储单元简单的说就是数据存放的地方,地址如何分配这个不用深究,只要知道分别给char 、int 、float、double等类型的数据分配多少内存就可以了。
3.关于信息是怎么转换成二进制代码(补码)存储在内存,请看下面详解:
正数的补码和其原码相同. 补码 = 原码。
负数的补码的两种求法:(假设8bit,即8位)
(1).是将该数的绝对值的二进制形式,按位取反,再加1.
例. 求-10的补码.
第一步是取-10的绝对值10;
第二步取10的二进制形式为00001010;
第三步对00001010取反得11110101;
第四步再加1得11110110.
所以-10在内存中就以11110110形式存放。
(2).256-欲求的负数的绝对值 = 此负数的补码。注意:256 - 的是这个负数的绝对值,而不是这个数
。也就是说 256 -|负数|=补码. 求其原码,则 256 - 补码 = |负数| ,则原码需要把首位变为1即可.
例. 求-10的补码.
第一步是 256 - |-10|=246.
第二步把246变为二进制,11110110.
所以-10在内存中就以11110110形式存放。
两种方法比较下来,显然,第二种更为简便!
4.反码:把每位取反,即0变1,1变0即可。
5.一个有符号定点数的最高位为符号位,0是正数,1是负数。
笔者认为,对于原码、补码、反码的追究无需深入,只需要知道数据在计算机中以补码形式存储即可, 至于怎么存储是计算机的事情。
温馨提示:答案为网友推荐,仅供参考