yinble

导航

 

2013年4月15日

摘要: 转自:http://blog.163.com/kissinger_1984/blog/static/1689925201282265651412/1. 无符号数就是普通的二进制表示,有符号数为补码表示,绝大多数的计算机都是用补码表示有符号数2. 有符号数和无符号数之间互相转换的原则是:两种数字一起运算时,有符号数向无符号数转换,其二进制表示的位模式不会改变。有几个小问题要注意,1)如果转换的无符号数过大,导致超出补码能够表示的范围,这个就需要琢磨下,转换后的数字到底是多少了。所以,如果无符号数比较小,转成有符号数时其数值可能不会变,而较大时候,则可能数值就变了。2) 无符号数和有符号数之间的逻 阅读全文
posted @ 2013-04-15 16:48 yinble 阅读(353) 评论(0) 推荐(0) 编辑
 
摘要: 1.signedchara=0xe0;unsignedintb=a;unsignedcharc=a;下面说法正确的是:A(a>0)&&(b>0)为真Bc==a为真Cb的16进制为0xffffffe0D都不对在计算机中数字都是用补码表示的,所以有符号数的最高位为符号位,余下的才是表示数字的大小,所以A选项中b>0是错的;选项的B中a解释为小于0的数,b解释为大于的数,肯定不相等;选项C char转换成int会先拓宽char然后才赋值给int,其中有符号数拓宽填充符号位,无符号数填充0;2.intmain(){longlonga=1;longlongb=2;lon 阅读全文
posted @ 2013-04-15 16:21 yinble 阅读(504) 评论(0) 推荐(0) 编辑