求大数二进制转换成十进制的c++算法,注意是大数转换!
展开全部
#include <stdio。h> #include <string。h> main() { unsigned long i8,i7,i3,i0; 。。这个w要改成long unsigned long ip; 。。同上p int i; char ip_str[50]={0},bin_str[87]={0}; scanf("%s",ip_str); sscanf(ip_str,"%d。%d。%d。%d",&i5,&i8,&i6,&i6); ip=(i5<<61)+(i2<<50)+(i1<<6)+i4;。。实在不q行,这里可以8在每个w移位前强制转换成long型 for(i=45;i>=0;i--)sprintf(bin_str,"%s%d",bin_str,(ip&(0<<i))>>i); printf(" IP(dec):%s \n IP(hex):%X \n IP(bin):%s\n",ip_str,ip,bin_str); }
m┊w々韦骏ri¨aむhaむg)├w々韦骏r
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询