| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 450 人关注过本帖, 1 人收藏
标题:还是关于返回值的问题!返回一个 16bit 的变量!大神请进!
只看楼主 加入收藏
Maximilian
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2014-11-12
结帖率:75%
收藏(1)
已结贴  问题点数:20 回复次数:7 
还是关于返回值的问题!返回一个 16bit 的变量!大神请进!
我的问题是:我有16个地址需要通过for循环和if语句进行筛选,若为真,则对应的地址为1,若为假,则对应的地址为0.然后我想得到一组由0和1组成的数,例如1100000011000011,然后将得到的数作为返回值。

例如:
程序代码:
unsigned char i;
unsigned char Address[16];
unsigned char j=0;
for(i=0xE0,i<0xFF;i+=2)
{
   if(i 比较条件==真)
   {  
        i=1=Address[j];
    }
    else
    {
        i=0=Address[j];
     }          
     j++;
   请问得到Address[j]后,它内部的元素是1和0的组合么,然后怎么返回这个组合呢?可行么?比如说,我想返回:return 1100001100111100;可以么?
    return ??;
  }



[ 本帖最后由 Maximilian 于 2014-11-28 07:11 编辑 ]
2014-11-28 07:10
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:15 
不知所云,首先 for(unsigned char i=0xE0,i<0xFF;i+=2) 应该是死循环吧?!
我写个demo吧

uint16_t retval = 0;
for( unsigned i=0; i!=16; ++i )
{
    _Bool b = 比较 i*2+0xE0
    retval |= b<<i;
}
return retval;
收到的鲜花
  • Maximilian2014-11-28 21:39 送鲜花  3朵   附言:我很赞同
2014-11-28 08:57
书生等待
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:8
帖 子:280
专家分:689
注 册:2013-2-22
收藏
得分:5 
char类型是占一个字节,不是一个bit,你这样写怎么会得到16位0  1序列

用楼上版主给的16位整形吧
2014-11-28 10:27
Maximilian
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2014-11-12
收藏
得分:0 
回复 2 楼 rjsp
版主你好!那段程序跟我的意图可能不一致,我的意思是我有16个地址从0xE0到0xFE,我想通过一个条件判断哪些地址是可用的,哪些是不可用的,可用的地址为1,不可用的为0,例如,通过判断只有0xE0和0xFe可用,那么应该得到1000000000000001,然后可以作为返回值使用
2014-11-28 15:35
Maximilian
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2014-11-12
收藏
得分:0 
回复 2 楼 rjsp
版主非常感谢您的帮助!我会继续尝试的!

[ 本帖最后由 Maximilian 于 2014-11-28 21:39 编辑 ]
2014-11-28 17:51
Maximilian
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2014-11-12
收藏
得分:0 
回复 2 楼 rjsp
版主,我有个问题,如果我定义一个结构体,然后可以把满足条件的地址放到这个结构体里供其他函数使用吗?这个思路可行么?
2014-11-28 23:00
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:0 
那是链表吧,可以加到结构体中去

一片落叶掉进了回忆的流年。
2014-11-29 10:01
Maximilian
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2014-11-12
收藏
得分:0 
回复 7 楼 诸葛欧阳
我有两个思路:第一,直接将满足条件的多个地址用结构体作返回值返回;第二:先把满足条件的多个地址放入数组中,然后将数组放入结构体中返回。
2014-11-29 17:35
快速回复:还是关于返回值的问题!返回一个 16bit 的变量!大神请进!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022290 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved