- 博客(4)
- 资源 (1)
- 收藏
- 关注
原创 强制类型转换
1.同类型有符号和无符号之间的转换1.1无符号转换成有符号首先判断无符号位最高位是1还是0,如果是0的话,那么转换之后值不变;如果是1的话,那么要对其#include int main(void){ unsigned char a = 126; char b = (char) a; printf("%d",b); retur
2013-11-29 21:02:34 1285
原创 为什么要设计出反码补码?
正数的原码反码补码是一样的:[+2] = [00000010]原 =[00000010]反 =[00000010]补但是对于负数来说,它的原码反码补码就不尽相同:[-2] =[10000010]原 =[11111101]反 =[11111110]补对于人来说,可以直接看出原码和十进制数字的关系,而反码和补码还需要其他一些转换,那么为什么设计出反码补码?因为计算机只有加法,没有减
2013-11-29 18:46:43 2651 2
原创 signed 的范围大小为什么不一样?
singned的正数范围比负数范围小1?比如有符号的int的范围是-128-127,为什么?因为计算机都是用二进制补码来存储数值!尽管在c中,c语言标准并不要求用补码来表示,而java终明确规定补码表示如何从补码计算出他代表的十进制数值?举例说明:01010100(补码) = 2的六次方+2的四次方+2的2次方=8411010100(补码) =(负1*
2013-11-28 22:15:49 1364
原创 原码反码补码
计算机有三种方法来表示定点数:原码,反码以及补码。所谓定点数就是小数点位置固定不变,与之相对应的是浮点数,计算机如何表示浮点数则又是另外一种方法了,以后谈。原码(Sign-Magnitude): 用源码表示数字的时候,通常把最高位当做符号位: 如果是正数,该位为0;负数则为1注意:0
2013-11-28 10:40:51 1171
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人