一道关于位数扩充的题目
2015-03-23 14:46
295 查看
先总结:整形比较小于int的会扩宽的int再比较, 而有符号数扩宽填充符号位, 无符号数填充0,
1.无符号数扩充
运行结果为:
解析:因为a为无符号数,所以填充0,则在内存中b会变为
2.有符号数扩充
运行结果为
解析:因为此时a为符号数,所以填充符号数,因为e0二进制表示为1110 0000,所以填充1,则b在内存表示为
最后再强调一点,上述结果与b是否为有符号无关。
1.无符号数扩充
#include <stdio.h> int main(void) { unsigned char a=0xe0; signed int b=a; printf("%u\n",b); printf("%x\n",b); }
运行结果为:
224 e0
解析:因为a为无符号数,所以填充0,则在内存中b会变为
00 00 00 e0
2.有符号数扩充
#include <stdio.h> int main(void) { signed char a=0xe0; signed int b=a; printf("%u\n",b); printf("%x\n",b); }
运行结果为
4294967264 ffffffe0
解析:因为此时a为符号数,所以填充符号数,因为e0二进制表示为1110 0000,所以填充1,则b在内存表示为
ff ff ff e0
最后再强调一点,上述结果与b是否为有符号无关。
相关文章推荐
- 关于static的一道题目和static 的小结
- 关于一道题目的讨论
- 一道关于java异常处理的题目
- 好文摘抄 [C语言]关于指针和int型的一道题目
- 20080306:上海华为的一道关于指针的编程题目
- 关于继承的一道题目
- 一道关于二维数组和指针数组的C语言笔试题目
- 分享一道笔试题目--关于static和extern变量的问题
- 一道关于竞赛图的题目
- 一道面试题目,关于this的理解
- 360一道关于this的题目
- 一道关于继承的题目
- 一道微软面试时碰到的,经典的,关于字符串操作的面试题目
- 关于腾讯面试的一道题目
- 关于js字符串替换的一道笔试题目
- 关于一道题目解法
- 一道关于排序的题目
- 关于Notify() wait()的一道面试题目
- 关于short的一道简单题目
- [C语言]关于指针和int型的一道题目