将十进制转换为二进制的c语言程序,十进制转换为二进制c语言编程

  将十进制转换为二进制的c语言程序,十进制转换为二进制c语言编程

  【编程问题】二进制转换

  3/3【编程问题】二进制变换

  时间限制:C/C为1秒,其他语言为2秒

  空间限制:C/C 32M,其他语言64M

  编写一个程序,接受十六进制数并输出十进制数。(多组同时输入)

  输入描述:

  输入十六进制数字字符串。

  输出描述:

  输出该值的十进制字符串。

  示例1:

  0xA

  输出示例1:

  10

  个人方法

  十六进制-十进制思想:例如,0x209

  如果去掉“ox”,则剩下209(3个数字(a -9,10-0,100-2))。

  十进制数=2 16 2 0 16 1 9 16 0=521

  python:

  #!/usr/zgdhk/env python2

  #-*-编码:utf-8-*-

  ""

  2020年3月4日

  @作者:oucbl

  ""

  #十进制十六进制

  #defdeC2hex(dnum):

  # hexNum=[] # 16十六进制字符串(逆序/堆栈))

  #

  #当dnum=0时:

  # mod16=dnum % 16

  # hex num . append(str(hex 16[mod 16]))

  # dnum /=16

  #

  #如果dnum==0:

  #休息

  #

  #十六进制数=“0x”。join ([ cforcinhexnum [ :3360-1 ])

  #返回hexNum

  #十六进制旋转十进制

  defhex2dec(hnum):

  Decnum=0 # 10十进制

  Hnum=hnum[2:] #删除前两位数字的标识符

  Lenth=Len(hnum) #十六进制长度

  forIinrange(长度) :

  BNum=lenth-i -1 #位

  重量=16 ** bNum #重量

  Bvalue=hex16.index(hnum[I]) #位值

  decnum=重量* b值

  返回数字

  if __name__==__main__ :

  HEX16=[0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ,

  a , B , C , D , E , F] #十进制与十进制的对照表

  尝试:

  虽然正确:

  N=raw_input(#python2接收非数字字符

  IFstr(n )== :

  黑色

  将十六进制数转换为十进制数

  除了:

  及格

  丙:

  /*******************************。

  作者:oucbl

  日期:2020年3月5日

  ******************************

  #包括

  #包括

  使用命名空间std

  Intcharindex(charc )//查找数组元素的位置

  {

  string hex 16= 0123456789 abcdef ;//十六进制和十进制对照表

  int idx=0;//元素位置

  for(intj=0;j 16j)

  {

  if(c==hex16[j]))

  {

  idx=j;

  布莱克;

  }

  }

  返回idx

  }

  lone 2 dec(string hex _ str)/十六进制到十进制的转换

  {

  long decnum=0;//十进制系统

  int len=hex _ str . length(;//十六进制字符数组的长度

  for(intj=2;j lenJ )//从第二个元素开始扫描

  {

  int bNum=len-j-1;//位数

  longweight=pow(16,bNum);//重量

  intb value=char index(hex _ str[j]);//位值

  decnum=weight * bValue

  }

  返回decnum

  }

  int main())

  {

  字符串十六进制;

  //cin得到整行,空行结束循环。

  wile(Getline(CIN,十六进制) )

  {

  if(hex.length ()==0)))))))))))).

  布莱克;

  出了

  }

  0;

  }

  出色的分析

  1.内置转换(python))

  虽然正确:

  尝试:

  Print (int (input),16))

  除了:

  黑色

  2.内置转换器(C))。

  #包括

  使用命名空间std

  int main())

  {

  int a;

  wile () (CinHexa ) }

  cout a endl

  }

  0;

  }

  /*

  * C输出的十六进制数是cout hhex a;

  cout oct a的八进制;

  */

  3.内置转换器(C))。

  #包括

  int main().

  int a;

  while(Scanf ) %x ,a)!=EOF)

  printf(%d(n),a);

  0;

  }

  4.内置转换(java)。

  /*

  直接调用Java的解码方法。

  这个方法的作用是将一个字符串解码成一个整数。接受十进制、十六进制和八进制。

  根据要解码的字符串(Mn)的形式来解码。它由mn符号、基数描述符和字符串组成。-0X 123-是符号位,0X是基址说明符(0是八进制,0X,0X,#是十六进制,如果没有写入任何内容,则表示十进制),123是数字字符串。

  */

  导入Java . util . scanner;

  公共类Main {

  publistaticvoidmain(string[]args)抛出异常{).

  sanner sc=new scanner(system . in;

  而(sc。Hasnext))))).

  string str=sc . next(;

  system . out . println(integer . decode(str));

  }

  }

  }

将十进制转换为二进制的c语言程序,十进制转换为二进制c语言编程