社区
其它技术问题
帖子详情
昨天笔试的一道题
dclchj
2011-08-17 09:10:19
这道题我应该是挂了:
谈谈对下面代码片段的看法:
unsigned int ZERO = 0;
unsigned int COMPZERO = 0xFFFF;
大家先不要百度,试试能说出什么?
...全文
393
27
打赏
收藏
昨天笔试的一道题
这道题我应该是挂了: 谈谈对下面代码片段的看法: unsigned int ZERO = 0; unsigned int COMPZERO = 0xFFFF; 大家先不要百度,试试能说出什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fsp970219
2011-08-19
打赏
举报
回复
COMPZERO即使在16位下也是unsigned, 何来-1?
xiaoxiao346691378
2011-08-19
打赏
举报
回复
请问您笔试的那家单位是不是南京的??
AndyZhang
2011-08-19
打赏
举报
回复
这个和编译环境,机器都有关
dclchj
2011-08-19
打赏
举报
回复
不是,是杭州的[Quote=引用 23 楼 xiaoxiao346691378 的回复:]
请问您笔试的那家单位是不是南京的??
[/Quote]
dclchj
2011-08-19
打赏
举报
回复
[Quote=引用 21 楼 excited_lamb 的回复:]
引用 19 楼 dclchj 的回复:
我以为 COMP 是 compare ,写了些跟0比大小的东西。--!
说明我对 complement 不敏感,被测出来了。
你的意思是题目本身就没注释的嘛?
[/Quote]没有的,不过对方是嵌入式行业。
jernymy
2011-08-17
打赏
举报
回复
unsigned int ZERO = 0;
unsigned int COMPZERO = 0xFFFF;
16位机子上COMPZERO是-1
32位机子上COMPZERO是0xFFFF;
如果正确的写法应该是
unsigned int COMPZERO = ~0;
excited_lamb
2011-08-17
打赏
举报
回复
[Quote=引用 19 楼 dclchj 的回复:]
我以为 COMP 是 compare ,写了些跟0比大小的东西。--!
说明我对 complement 不敏感,被测出来了。
[/Quote]
你的意思是题目本身就没注释的嘛?
dclchj
2011-08-17
打赏
举报
回复
这个是正解了^.^
[Quote=引用 9 楼 zmlovelx 的回复:]
unsigned int ZERO = 0;
unsigned int COMPZERO = ~0;
[/Quote]
dclchj
2011-08-17
打赏
举报
回复
我以为 COMP 是 compare ,写了些跟0比大小的东西。--!
说明我对 complement 不敏感,被测出来了。
dclchj
2011-08-17
打赏
举报
回复
[Quote=引用 14 楼 babilife 的回复:]
楼上都说了,你如果考得是16位单片机的话,这题还有考头
》16位机上木啥名堂
[/Quote]确实,对方是嵌入式相关的。
excited_lamb
2011-08-17
打赏
举报
回复
/*1's complement of zero */
LZ你的这个注释到哪去了?怪不得我一开始没看懂
modicum_lf
2011-08-17
打赏
举报
回复
unsigned int ZERO = 0;
unsigned int COMPZERO = 0xFFFF; // 变量名都告诉我们是0的补码了呀 ,你怎么还挂了,郁闷
/*1's complement of zero */
对于一个int型不是16位的处理器为说,上面的代码是不正确的。应编写如下:
unsigned int compzero = ~0;
luciferisnotsatan
2011-08-17
打赏
举报
回复
[Quote=引用 12 楼 excited_lamb 的回复:]
引用 7 楼 lxyppc 的回复:
如果没有上下文,只能猜测
变量名全大写,猜测是常量定义,可以加const在前面(假设是C++语境)
根据变量字面意思,COMPZERO猜测是complement zero的意思,即~0,写成unsigned int COMPZERO = ~ZERO;更加好一些
实际情况中可以根据上下文得到确切意义
为什么要这样,LZ的写法
int 如……
[/Quote]
是16位没问题。其他的会有问题。
比如32位,结果就是 0x0000FFFF,不是~0的0xFFFFFFFF
至善者善之敌
2011-08-17
打赏
举报
回复
楼上都说了,你如果考得是16位单片机的话,这题还有考头
》16位机上木啥名堂
luofeng619
2011-08-17
打赏
举报
回复
顶一下
excited_lamb
2011-08-17
打赏
举报
回复
[Quote=引用 7 楼 lxyppc 的回复:]
如果没有上下文,只能猜测
变量名全大写,猜测是常量定义,可以加const在前面(假设是C++语境)
根据变量字面意思,COMPZERO猜测是complement zero的意思,即~0,写成unsigned int COMPZERO = ~ZERO;更加好一些
实际情况中可以根据上下文得到确切意义
[/Quote]
为什么要这样,LZ的写法
int 如果16位会出问题?什么问题啊
君恪
2011-08-17
打赏
举报
回复
[Quote=引用 9 楼 zmlovelx 的回复:]
unsigned int ZERO = 0;
unsigned int COMPZERO = ~0;
[/Quote]
顶一个
konta
2011-08-17
打赏
举报
回复
~0
帅得不敢出门
2011-08-17
打赏
举报
回复
unsigned int ZERO = 0;
unsigned int COMPZERO = ~0;
excited_lamb
2011-08-17
打赏
举报
回复
这题目想考这个吧:
long x = (signed short)0xffff;
assert(x == 0xffff);
加载更多回复(7)
动态规划笔记
昨天
在牛客网上做
笔试
题
,碰到了
一道
题
动态规划做了一晚上都没做出来,最后看着别人的答案才勉强做出来,太菜了,今天总结一下。 动态规划思路: 1、找到状态和选择,确定当前状态和转换 2、明确dp数组/或函数的定义...
有趣的
一道
笔试
题
昨天
笔试
遇见
一道
没见过的
题
,但感到很有意思,由于
笔试
期间不能编码调试,今天看了下运行状况,一下是
题
: 给了两个int变量 a、b 具体值不记得了,让你求printf("%d\n", (a=a*a,a*b,c));的输出结果 ...
一道
java
笔试
题
的解法
昨天
晚上看到
一道
java
笔试
题
,然后觉得挺有意思的。
题
目如下: 写一个java程序,实现对一个二维数组按指定的列集进行排序。要求实现类似sql中order by的功能,移动时,整行移动,不能打乱整行顺序。 可将二维数组...
Java面试
笔试
题
大汇总(最全+详细答案)
声明:有人说, 有些面试
题
很变态,个人认为其实是因为我们基础不扎实或者没有深入。本篇文章来自一位很资深的前辈对于最近java面试
题
目所做的总结归纳,有170道
题
目 ,知识面很广 ,而且这位前辈对于每个
题
都自己...
求用1,2,5这三个数不同个数组合的和为100的组合个数(
昨天
笔试
一道
题
,只写最基本的方法,效率非常低)
事实上,这个
题
目是
一道
明显的数学问
题
,而不是单纯的编程问
题
。我的解法如下: 因为x+2y+5z=100 所以x+2y=100-5z,且z 所以(x+2y),且(x+5z)是偶数 对z作循环,求x的可能值如下: z=0, x=100, 98, 96,...
其它技术问题
3,881
社区成员
9,054
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章