类型转换一些细节

2013年8月28日 由 Creater 留言 »

已知:signed char a = 0xe0,unsigned char b = a, unsigned int c = a;
那么a在内存中的二进制形式为:1110 0000,同理b在内存中也是为1110 0000,同理c的一个字节也为1110 0000;

对于a来说,得知它为一个负数。所以a的值为224 – 256 = -32;
对于b来说,得知它为一个正数,所以b的值为224
对于c来说,因为a的值为-32,所以c的值应该为224 – 2^32 = 0xffffffe0(hex).

广告位

发表评论

你必须 登陆 方可发表评论.