| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:请教十进制转化为二进制
只看楼主 加入收藏
枪手问鼎英超
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2011-6-1
结帖率:88.89%
收藏
已结贴  问题点数:10 回复次数:8 
请教十进制转化为二进制
一个十进制一维数组为{2,3,4,5,6,7,8,9},怎样把数组里的数依次转化为四位的二进制数,比如2变为0010,然后将得到的这些二进制的码,在放在一个数组b[32]中,请教高手!谢谢
搜索更多相关主题的帖子: 十进制 二进制 
2011-06-02 14:48
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
用二维数组,求余。
2011-06-02 14:57
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
回复 楼主 枪手问鼎英超
你这表达问题的能力也太差了吧,两次提问完全就不是同一个意思

技术问题,请不要以短消息方式提问
2011-06-02 15:12
枪手问鼎英超
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2011-6-1
收藏
得分:0 
前面的单转化已经知道了,就是在存数的时候有点问题,不能按照要求依次的存
2011-06-02 15:15
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:1 
数据在内存里都是以二进制形式存储的。我想,楼主是不是要把整数数组里的每一元素转换成字符形式的二进制形式,存贮在一个字符数组中呢,比如:
int a[2]={1,2} ==>char a[2][4]={"0001",0010"}

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-06-02 15:20
枪手问鼎英超
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2011-6-1
收藏
得分:0 
对,就是你这意思,不过后面的数组不是char型的,要int型的
2011-06-02 15:22
lhp3774848
Rank: 2
来 自:福建省
等 级:论坛游民
帖 子:46
专家分:77
注 册:2011-5-3
收藏
得分:0 
那就用int a[2]={1,2}==>int b[2][4]={{0,0,0,1},{0,0,1,0}}
2011-06-02 15:33
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:8 
程序代码:
#include <stdio.h>

int main(void) {
    int a[8] = {2, 3, 4, 5, 6, 7, 8, 9}, b[32];
    int i, j, k;
    for(i = 0; i < 8; i++) {
        k = 3;
        for(j = 0; j < 4; j++) {
            b[i * 4 + j] = (a[i] >> k--) & 1;
        }
    }
    for(i = 0; i < 32; i++) {
        if(i != 0 && i % 4 == 0) {
            puts("");
        }
        printf("%d", b[i]);
    }
    return 0;
}
图片附件: 游客没有浏览图片的权限,请 登录注册



My life is brilliant
2011-06-02 15:48
qianyou
Rank: 3Rank: 3
来 自:江西南昌
等 级:论坛游侠
帖 子:76
专家分:189
注 册:2011-3-25
收藏
得分:1 
#include<stdio.h>
#include<math>
void main()
{
    int i,a[8]={2,3,4,5,6,7,8,9},a,b,c,d;
    for(i=0;i<8;i++)
    {
        a[i]%2=a;
        a[i]/2%2=b;
        a[i]/2/2%2=c;
        a[i]/2/2/2%2=d;
    }
        for(i=0;i<8;i++)
        printf("%a%b%c%d",b[32]);
}
大致就是这样了!我没运行的!你自己试试看吧!
2011-06-02 15:49
快速回复:请教十进制转化为二进制
数据加载中...
 
   



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

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