打印

笔试题

[复制链接]
1195|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
txcy|  楼主 | 2012-11-18 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大概如下:
/*
sizeof(int)的可能值为1,2,4,8,rand()是可以产生int范围内随机数的随机函数
*/
int x=rand();
int y=rand();
unsigned int cx=CONVERT(x);
unsigned int cy=CONVERT(y);
int less=(x<y)&&(cx<cy);
int diff=((x-y)==(cx-cy));
if(less&&diff)
      printf("true");
else
      printf("false");
问:宏CONVERT(n)是如何定义的,作用是什么?

相关帖子

沙发
无冕之王| | 2012-11-18 10:41 | 只看该作者
这个是什么单位的笔试题

使用特权

评论回复
板凳
yybj| | 2012-11-18 10:52 | 只看该作者
#define CONVERT(n) (n)&0x01111111
有符号整形转换为无符号整形

使用特权

评论回复
地板
gxgclg| | 2012-11-18 11:03 | 只看该作者
#defin CONVERT (a+sizeof((a)*32768))
如果X是负的就把X归0。因为int范围不确定,所以就取当为1(无符号取值为0-32768)再乘以他的大小.
反正cx cy都是无符号,不用担心越界

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

274

主题

2106

帖子

0

粉丝