21xrx.com
2024-11-22 03:52:22 Friday
登录
文章检索 我的文章 写文章
C++数的变换方法
2023-07-13 21:24:26 深夜i     --     --
- C++ - 数值转换 - 进制转换 - 二进制操作 - 整数类型

C++语言是一种面向对象的编程语言,它具有强大的数据处理能力和灵活的编程方式。在C++中,数的变换方法有很多种,以下是其中的几种。

1.十进制转二进制

在C++中,十进制转二进制可以使用除2取余的方法,将余数倒序排列即可得到二进制数。代码如下:


void dec2bin(int n)

{

  if(n >= 2)

  {

    dec2bin(n / 2);

  }

  cout << n % 2;

}

2.二进制转十进制

同样是通过除2取余的方法,只是要将二进制数由右往左依次乘以2的n次方,n从0开始,即1、2、4、8、16等。代码如下:


int bin2dec(int n)

{

  int dec = 0;

  int p = 0;

  while(n != 0)

  {

    dec += (n % 10) * pow(2, p);

    ++p;

    n /= 10;

  }

  return dec;

}

3.十进制转十六进制

十六进制数由0-9、A-F组成,C++中可以使用除16取余的方法得到十六进制数。要注意的是,余数为10-15时,需要用A-F表示。代码如下:


void dec2hex(int n)

{

  if(n >= 16)

  {

    dec2hex(n / 16);

  }

  int x = n % 16;

  if(x <= 9)

  

    cout << x;

  

  else

  {

    cout << char('A' + x - 10);

  }

}

4.十六进制转十进制

通过将十六进制数中的每一位数字转化为对应的十进制数,并按权相加的方法,可以实现十六进制转十进制的操作。代码如下:


int hex2dec(string s)

{

  int dec = 0;

  for(int i = 0; i < s.length(); i++)

  {

    if(s[i] >= '0' && s[i] <= '9')

    {

      dec += (s[i] - '0') * pow(16, s.length() - 1 - i);

    }

    else if(s[i] >= 'A' && s[i] <= 'F')

    {

      dec += (s[i] - 'A' + 10) * pow(16, s.length() - 1 - i);

    }

  }

  return dec;

}

总结:

C++数的变换方法包括十进制转二进制、二进制转十进制、十进制转十六进制、十六进制转十进制等多种方法。通过这些方法,可以方便地进行数值相互转换,为程序设计带来很大的便利。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复