24小时热门版块排行榜    

查看: 1410  |  回复: 7
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

李三石

新虫 (小有名气)

[求助] 8位ADC问题

哪位高手能给编一个8位ADC程序。就是给一个值,通过与给定的阈值比较转换成8位二进制数。比如说将5转化成8位二进制数:首先将5与第一个阈值(阈值到时候会具体给出的,比如说这个阈值是3)比较,由于大于3输出为1(如果小于阈值的话输出为0),接着与第二个与之比较,同样如果大于它输出为1,小于输出为0.在与第三个阈值比较......依次下去一共比较8次,最终输出一个8位二进制数。希望高手积极指导,谢谢!

[ Last edited by 李三石 on 2012-3-12 at 23:00 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李三石

新虫 (小有名气)

引用回帖:
: Originally posted by SmallWarm at 2012-03-13 14:33:58:
int fun(int a)/*a为基数*/
{
int m=0,n=0;/*m用于保存得到的二进制值,n用于保存阀值*/
while(cin)
{
cin>>n;
m+=a>=n?1:0;/*若a大于等于n则返回1,否则返回0*/
m<<=1;/*m在bit上左移一位 ...

程序有错误,能不能帮忙改一下。
3楼2012-03-13 14:49:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

SmallWarm

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
int fun(int a)/*a为基数*/
{
int m=0,n=0;/*m用于保存得到的二进制值,n用于保存阀值*/
while(cin)
{
cin>>n;
m+=a>=n?1:0;/*若a大于等于n则返回1,否则返回0*/
m<<=1;/*m在bit上左移一位*/
}
return m;/*这里返回的是一个整形数,将其转化为二进制即可*/
}
2楼2012-03-13 14:33:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

SmallWarm

新虫 (初入文坛)

int fun(int a)/*a为基数*/
{
int m=0,n=0;/*m用于保存得到的二进制值,n用于保存阀值*/
for(int i=0;i<8;i++)
{
cout<<"pressIn"< cin>>n;
m+=(a>=n?1:0);/*若a大于等于n则返回1,否则返回0*/
m<<=1;/*m在bit上左移一位*/
}
cout<<"value:"< return m;/*这里返回的是一个整形数,将其转化为二进制即可*/
}

你在试试看,我在网吧写的,没有编译器不能验证,你最好自己把这些抄写在编辑器上,直接复制粘贴的可能有问题....

» 本帖已获得的红花(最新10朵)

4楼2012-03-16 14:39:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

李三石

新虫 (小有名气)

送鲜花一朵
引用回帖:
4楼: Originally posted by SmallWarm at 2012-03-16 14:39:13:
int fun(int a)/*a为基数*/
{
int m=0,n=0;/*m用于保存得到的二进制值,n用于保存阀值*/
for(int i=0;i<8;i++)
{
cout<<"pressIn"<<endl;
cin>>n;
m+=(a>=n?1:0);/*若 ...

还是要非常感谢你,尽管有很多错误。这个程序挺难的,估计一般人也编不了。
5楼2012-03-16 16:35:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见