十进制转换二进制怎么转换,那个关于8421的是怎么回事?

如题所述

#include<iostream>
#include<string>
#include<list>
using namespace std;

void list2str(string &str, list<char>&dat)
{
    str.clear();
    while (dat.size())
    {
        str.push_back(dat.front());
        dat.pop_front();
    }
}

bool Dec2Any(string &str, double src, int system, int precision=6)
{
    if (system < 2 && system > 36)
        return false;
    char fmt[] = "0123456789abcdefghijklmnopqrstuvwxyz";
    int num = src;
    list<char>dst;
    str = "";
    while (num >= system)
    {
        dst.push_front(fmt[num % system]);
        num /= system;
    }
    dst.push_front(fmt[num]);
    if (src < 0)
        dst.push_front('-');
    double idat, dot = modf(src, &idat);
    if (dot != 0 && precision > 0)
        dst.push_back('.');
    for (int i = 0; i <= precision; i++)
    {
        dot = modf(dot*system, &idat);
        dst.push_back(fmt[(int)idat]);
        if (dot == 0)
            break;
    }
    list2str(str, dst);
    return true;
}

int main()
{
    string str = "1c.b5e6";
    if (Dec2Any(str, 13.25, 2))
        cout << "result = " << str << endl;
    else
        cout << "fmt err\n" << endl;
    return 0;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

8421BCD是什么意思?
1、BCD码与十进制数的转换关系很直观,相互转换也很简单,将十进制数75.4转换为BCD码:7->0111,5->0101,4->0100所以拼成8421BCD码的结果是:(0111 0101.0100)BCD;若将BCD码1000 0101.0101转换为十进制数:1000->8,0101->5,0101->5所以结果是:(85.5)D。二进制编码的十进制数,简称BCD...

十进制数如何转换成8421BCD码的?
总的来说,十进制数转换成8421BCD码是一个简单直接的过程,只需要将每一位十进制数转换成对应的四位二进制数,然后按顺序排列即可。这种编码方式在数字电路和计算机系统中有着广泛的应用,因为它可以方便地表示和处理十进制数字。

在计算机基础中为什么可以用8421法把十进制转换为二进制?
“8421”法的原理说白了就是一种凑数法,按2的n次方的值列出,根据不同的情况进行“凑数”。一、对于二进制转换成十进制数 例如:二进制数1010转换成十进制数 8 4 2 1 二进制数: 1 0 1 0 (结果为凡是1对应的数相加:8+2=10) 例1:110转换成十进制数 8 4 2 1 1...

8421进制转换什么意思
1.10进制转二进制 例:10进制10转换成二进制 首先按照8421来分解:10=2+8,用8421转换法,对应数字下面写1,没有的写0,得到:8 4 2 1 1 0 1 0 也就是说10进制的转换成2进制等于1010,此时或许有人会问,如果这个数大于15(8+4+2+1)咋办?很简单,在前面添加个16,如果再大于31,...

8421是什么码?
十进制如何转换成 8421 码~~请说方法 方法:按照【进制转换】的规则,把十进制数转为二进制数。这些二进制,就是 8421 码。比如:十进制数 14 = 二进制数 1110。这个 1110,就是 14 的 8421 码。--- 墨汁诺的回答,是错误的。大家千万别相信。

十进制数转8421BCD码怎么转?
将每一位的十进制数转换为对应的四位二进制数即可得到8421BCD码。8421BCD码是一种二进制编码的十进制数表示方式,其中每四位二进制数代表一位十进制数。在8421BCD码中,每一位的权值分别为8、4、2、1,即2³、2²、2¹、2º。因此,将十进制数的每一位转换为8421BCD码,...

如何将8421转换为2进制数?
先将8421码转换成十进制,再转换成2进制101101.11100。8421码每4位对应一个十进制数,那么1001对应9,0101对应5,0100对应4,所以对应的十进制数为45.9。十进制转二进制整数部分计算:45\/2=22 余1,22\/2=11 余0,11\/2=5 余1,5\/2=2 余1,2\/2=1 余0,1\/2=0 余1。然后将余数进行...

十进制数转8421BCD码怎么转
十进制数转换为8421BCD码,是一种将十进制数直接转换为二进制编码的十进制(Binary-Coded Decimal)表示法,其中每一位十进制数被映射为四位二进制数,这四位分别代表8、4、2、1的权值。转换过程直观且系统:首先,将十进制数的每一位数字单独取出来,然后为每一位数字找到对应的8421BCD码。具体来说...

进制换算中的8421是啥意思?
8421码是一种BCD编码方式,是一种二进制转化为十进制的编码方法。它和四位自然二进制码相似,各位的权值为8、4、2、1,故称为有权BCD码。和四位自然二进制码不同的是,它只选用了四位二进制码中前10组代码,即用0000~1001分别代表它所对应的十进制数,余下的六组代码不用。

十进制数转8421BCD码怎么转
十进制数转换为8421BCD码(Binary-Coded Decimal)的过程是一种将十进制数字以二进制形式表示的方法,每个十进制数位的值分别用四位二进制数来表示,其中每一位二进制数的权值从高到低分别是8、4、2、1,正好对应十进制中的千位、百位、十位和个位。转换时,需将十进制数的每一位分别转换成对应的四...

相似回答