欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 用C進(jìn)行二進(jìn)制數(shù)轉(zhuǎn)三進(jìn)制 [打印本頁]

作者: aiwang51    時間: 2016-7-22 22:38
標(biāo)題: 用C進(jìn)行二進(jìn)制數(shù)轉(zhuǎn)三進(jìn)制
用C進(jìn)行二進(jìn)制數(shù)轉(zhuǎn)三進(jìn)制,三進(jìn)制用二進(jìn)制數(shù)表示,每兩位二進(jìn)制數(shù)表示一位三進(jìn)制數(shù)?
有沒有人能給我點(diǎn)思路?

作者: sadate    時間: 2016-7-23 00:24
#include<stdio.h>
#include<string.h>

void main()
{

    int i,j = 0, num1[64] = {0}, c = 0, k = 0,t = 0, num2[64] = {0};
    char str1[64] = {' '};
    gets(str1);
    c = strlen(str1);
   
    for (i = 0; i < c; i++)
    {
        num1[i] = str1[i] - 48;
    }
   
    while(1)
    {
        int r = 0;
        k = num1[0] % 3;
        num1[0] = num1[0] / 3;
        for (i = 0; i < c; i++)
        {
            t = k;
            k = (k * 2 + num1[i + 1]) % 3;
            num1[i + 1] = (t * 2 + num1[i + 1]) / 3;
        }
            
        num2[j] = t;
        j++;
        
        for (i = 0; i < c; i++)
        {
            if (num1[i] == 0)
            {
                r++;
            }
        }
   
        if (r == c)
        {
            break;
        }
    }
   
    for (i = 0; i < j; i++)
    {
        if (num2[j - 1 - i] == 2)
        {
            printf("%s", "10");
        }
        else
        {
            printf("%.2d", num2[j - 1 - i]);
        }
    }
   
    printf("\n");
}

編譯后運(yùn)行,
輸入二進(jìn)制數(shù):
1011001
輸出三進(jìn)制數(shù):
0100001010

作者: sadate    時間: 2016-7-23 00:24
見我的回復(fù)
作者: songdaxuan    時間: 2016-7-23 09:06
三個二進(jìn)制表示兩個三進(jìn)制吧
作者: zl2168    時間: 2016-7-23 12:36
二進(jìn)制數(shù)轉(zhuǎn)三進(jìn)制數(shù),先列出真值表,單片機(jī)對應(yīng)查表即可。
作者: aiwang51    時間: 2016-7-23 16:58
sadate 發(fā)表于 2016-7-23 00:24
見我的回復(fù)

謝謝,已解決,原以為取余法單片機(jī)空間不夠,沒想到寫完還有十幾個字節(jié)。
作者: aiwang51    時間: 2016-7-23 17:03
songdaxuan 發(fā)表于 2016-7-23 09:06
三個二進(jìn)制表示兩個三進(jìn)制吧

兩位二進(jìn)制數(shù)表示一位三進(jìn)制
如二進(jìn)制數(shù)1011
那三進(jìn)制數(shù)是102
因?yàn)閱纹瑱C(jī)沒有三進(jìn)制數(shù)的表現(xiàn)形式,所以三進(jìn)制數(shù)102用二進(jìn)制來表現(xiàn)是010010
作者: aiwang51    時間: 2016-7-23 17:05
zl2168 發(fā)表于 2016-7-23 12:36
二進(jìn)制數(shù)轉(zhuǎn)三進(jìn)制數(shù),先列出真值表,單片機(jī)對應(yīng)查表即可。

那這個表得多大,幾千個數(shù),過于麻煩。
作者: aiwang51    時間: 2017-2-10 15:34
已解決
作者: jiajuntao    時間: 2017-2-10 16:54
學(xué)習(xí)了




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1