|
-
近期文章
近期评论
- coolker 发表在《打造最快的Hash表》
- struggle 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- zhanghaibo 发表在《提供C语言教学课件(适用于初学者)》
- diys 发表在《C语言编程宝典(王大刚) 1.1 C 语言的产生与发展》
文章归档
- 2022 年十月
- 2014 年一月
- 2013 年十二月
- 2012 年十一月
- 2012 年七月
- 2012 年六月
- 2012 年五月
- 2012 年四月
- 2012 年三月
- 2012 年二月
- 2011 年十二月
- 2011 年十月
- 2011 年九月
- 2011 年八月
- 2011 年七月
- 2011 年六月
- 2011 年五月
- 2011 年四月
- 2011 年三月
- 2011 年二月
- 2011 年一月
- 2010 年十二月
- 2010 年十一月
- 2010 年十月
- 2010 年九月
- 2010 年八月
- 2010 年七月
- 2010 年六月
- 2010 年五月
- 2010 年四月
- 2010 年三月
- 2010 年二月
- 2010 年一月
- 2009 年十二月
- 2009 年十一月
- 2009 年十月
- 2009 年九月
- 2009 年八月
- 2009 年七月
- 2009 年六月
- 2009 年五月
- 2009 年四月
- 2009 年三月
- 2009 年二月
- 2009 年一月
- 2008 年十二月
- 2008 年十一月
- 2008 年十月
- 2008 年九月
- 2008 年八月
- 2008 年七月
- 2008 年六月
- 2008 年五月
- 2008 年四月
- 2008 年三月
- 2008 年二月
- 2008 年一月
- 2007 年十二月
- 2007 年十一月
- 2007 年十月
- 2007 年九月
- 2007 年八月
- 2007 年七月
- 2007 年六月
- 2007 年三月
- 2007 年二月
- 2007 年一月
- 2006 年十二月
- 2006 年十一月
- 2006 年十月
- 2006 年九月
- 2006 年八月
- 2006 年七月
- 2006 年六月
- 2006 年五月
- 2006 年四月
- 2006 年三月
- 2006 年二月
- 2006 年一月
- 2005 年十二月
- 2005 年十一月
分类目录
功能
对于int数据类型可以按2字节也可以按4字节存储,因机器而已。如果是按2字节存储的话,他的上界应该是2的15次方减1(32767),上界为2的15次方的相反数(-32768),在整个范围内负整数与非负整数是各占一半的,你的理解是不符合这个条件的。
计算机中保存整数是以补码的形式保存的!(这是为了把减号运算转换为加号运算)
正数的补码就是它本身!
负数的补码为正数的反码加1!
-32768的补码计算方法为
1000 0000 0000 0000 正数32768
0111 1111 1111 1111 反码32768
1000 0000 0000 0000 补码-32768
做减法运算的方法为把减号当做后一个数字的符号位!
然后换算为补码形式!两个补码相加,别管溢出情况,就是得到的数值!
比如: 32767-32768
0111 1111 1111 1111 + 1000 0000 0000 0000
=
1111 1111 1111 1111(补码形式的-1,减1取反就是正数1的补码)
在32位系统中,例如 VC 编译器,int 是32位,4字节。TC 中是16位。
版主的 数制学的很好啊!!!
这样讲就没什么好挑剔的了~~
初学者来了。。。。
学习