整数的第一位表示符号位。
1 正整数
正整数在计算机中直接用它的二进制存储,例如:
short s = 3;3 = 2^1 + 2^0
短整型一般为2个字节,即16位,它的对应的存储方式为:
0 000 0011
所以,短整型的表示范围为:-2^15 ~ +2^15
0是个特例,它有两种表示方式:
1 000 0000
0 000 0000
所以,短整型一共只有2^16 - ...
分类:
其他好文 时间:
2014-09-03 09:43:24
阅读次数:
198
这里先将二进制的计算可以分为两类,加减运算与乘除运算,本篇讨论的是加减运算。(一)预备知识——数据在计算机的存储与表示从一个问题入手:java中byte(1字节,8位)的取值范围为:-2^7<=取值范围<=2^7-1,或者写成-128<=取值范围<=127,为什么呢?疑问:按照我们一般认为,如果8位...
分类:
其他好文 时间:
2014-09-03 02:35:35
阅读次数:
326
数据类型:long 32位4个字节 64位8个字节 vs2013 4个字节long long 8个字节float 4个字节double 8个字节%x和%p的区别:int main(){int num = 256;printf("%p\n",&num); //0107FAFCprintf("%#p\n...
分类:
其他好文 时间:
2014-09-02 15:32:54
阅读次数:
233
本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 论证部分如有不对的地方请各位牛人帮忙指正! 希望本文对大家学习计算机基础有所帮助!一. 机器数和真值在学习原码, 反码和补码之前, 需要先了解机器...
分类:
其他好文 时间:
2014-09-02 11:47:04
阅读次数:
296
可以经常在ACM代码中看到 while(~scanf("%d",&n)){ } 这样的代码,意思是在读到输入结尾时循环也结束。
一般在读到输入流结尾时,scanf返回的是EOF。
EOF是在头文件stdio.h中定义的常量,一般为-1。
-1 的原码是10000001,反码是1111110,补码是11111111。复习一下,正数的原码、反码、补码都是一样的;负数的原码是符号位为1,反码是(对...
分类:
其他好文 时间:
2014-08-31 00:33:10
阅读次数:
275
补充知识:1)正整数的补码与原码相同; 2)求负整数的补码:原码 符号位不变,数值位各位取反,最后整个数加1得到补码; 3)按位与&的结果是补码与补码运算得到的结果。进制转换:1)十进制整数----->二进制(除2取余倒排) 2)二进制--->十进制(按权重相乘相加) 3)十六进制 二进制(1位对应...
分类:
其他好文 时间:
2014-08-27 12:38:57
阅读次数:
189
#define MAX 32 void IntToBinary(char binary[], int x); // x转换为二进制 void IntToBinary2(char binary[], int x); // 不同的思路可以有多种方法 void TrueForm(char binary[....
分类:
其他好文 时间:
2014-08-27 12:20:27
阅读次数:
180
1. 算术运算要点(1)移位操作① 原码移位:原码进行算术左移和算术右移都不改变原码本身形态。左移一位相当于乘以 2,右移一位相当于除以 2,移位出现的空位补 0。这是因为原码与二进制数真值的绝对值是完全一样的,算术移位并不涉及数的符号。② 补码移位:由于正数的补码与原码是一样的,所以正数的补码左、...
分类:
其他好文 时间:
2014-08-27 00:06:57
阅读次数:
400
在计算机系统中,数据的表示与存储都是以0或1的形式,而表示这些0或1,我们可以将外部数据通过数字电路进行编码,对于有符号数,在计算机系统中有三种编码,即我们通常所了解的编码:原码,反码,补码,而无符号数没有原码,反码,补码之分,况且,我觉得在计算机存储系统领域讨论无符号数是没什么意义的原码:正数原码...
分类:
其他好文 时间:
2014-08-20 22:34:42
阅读次数:
204