程序读入一字符串,只含有0和1,共32位,代表IP地址,现将这32位js字符串转换日期为点分十进制的IP地址表示,其中

& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区【图文】《网络程序设计》第2章_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
《网络程序设计》第2章
上传于||暂无简介
大小:2.35MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢十进制IP192.168.1.1转换成32位的二进制如何转啊,有没有好点的函数(现成的最好)
[问题点数:20分,结帖人wadyl]
十进制IP192.168.1.1转换成32位的二进制如何转啊,有没有好点的函数(现成的最好)
[问题点数:20分,结帖人wadyl]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2007年9月 C/C++大版内专家分月排行榜第三2007年8月 C/C++大版内专家分月排行榜第三2006年11月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。输入一个32位的IP地址输出为点分十进制C语言编写程序,麻烦大神看看我的程序逻辑上哪里不对_百度知道
输入一个32位的IP地址输出为点分十进制C语言编写程序,麻烦大神看看我的程序逻辑上哪里不对
接下来的n行里;分隔Input 输入数据的第一行是一个正整数n(1& } for (i = 0;.255203;和'分隔成4段的IP地址;j--)
printf(& for (i = 0;1'= 0;组成的串。Output 输出数据是n行.255,它表示的是IP地址;;);
m=m+pow(2;j &=n&lt。Sample Input 4
Sample Output 0; k2,k;
} } for (i = 0,number,由'j++)
k2=8+(8*j);=9);;i &lt.&quot.0.03;
for (k = k1;1&#39.1我的程序,你现在的任务是把一个32位长的由'%d&quot.132.229.&#39.0:#include &lt题目; int p=1.'和'k &i++) {
p=p*m;j &gt.12880;
IP8[i][j]=m;,每行都是一个32位的由&#39,m.0;i++) {
k1=0+(8*j).&#39,IP8[9][4],k3;;; scanf(&}int main(){ n&i &lt,&IP2[i]); char IP2[9][32],总共4段.128;int pow(i &lt,k3); number,每行是一个由' 4;0')
k3=k-8*j; int k1.16,IP8[i][j]);1&#39。即每8位转换成一个十进制数; }
return 0.h&%d;%s&quot,表示总共有n行数据需要你转换,j,int n){ stdio,k2; for (i = 0,&number);\k++)
if (IP2[i][k]=='0'
printf(&quot:想象一下你正在从输入设备上读入比特流;构成的序列转换成一个由'i++) {
for (j = 0;i++) {
for (j = 3;分隔成4段的IP地址;i & } return p
提问者采纳
显示结果错吗??还是优化问题?
我在想是不是我的逻辑有错 麻烦看下
#include &stdio.h&int pow(int m,int n){
int p=1; for (i = 0;i &i++) {
p=p*m; } }int main(){ int i,j,k,number,m,IP8[9][4]; int k1,k2,k3; scanf(&%d&,&number); char IP2[9][32]; for (i = 0;i &i++) {
scanf(&%s&,&IP2[i]); } for (i = 0;i &i++) {
for (j = 0;j & 4;j++) //32位分4次处理
k1=0+(8*j);
//j从0~4. 所以k1~k2为0~7,8~15....你的例子是0~8,8~16....
k2=7+(8*j);
//修改1
for (k = k1;k &= k2;k++)
//修改2,k表示数组下标,范围从k1到k2
if (IP2[i][k]=='1')
m=m+pow(2,7-k3); //修改3,低位和高位你搞反了
IP8[i][j]=m;
} } for (i = 0;i &i++) {
for (j=0;j &= 3;j++) //修改3,输出顺序你搞反了
printf(&%d&,IP8[i][j]);
printf(&.&);
//最后一个没有小数点
printf(&\n&); }
return 0;}
提问者评价
麻烦了 谢谢
来自团队:
其他类似问题
为您推荐:
点分十进制的相关知识
其他2条回答
stdio。pow() 用 math写得太复杂,v[3]),v[1].h&gt。用循环语句;j&main(){int i.%d;;#include &n;%d,v[0],7-k),&d);},一个数一个数地读入计算就可以了.h&gt,v[2],j.h 里的就可以了;%1d&quot。8 位2进制到10进制计算 用
v[j] = v[j]+ d * pow(2;static int v[4];char s[32];k&lt.%d\n&quot,k,n,7-k),d;scanf(&for (i=0;return 0;4; for (k=0;%d&
#include &i&;;i++){for(j=0;j++){ v[j]=0; v[j] = v[j]+ d * pow(2;8,&n);k++){ scanf(& }};printf(&quot.%d
#include&&stdio.h&int&main()&{ int&i,j,n,IP[4]; char&s[33]; scanf(&%d&,&n); while(n--)&{
fflush(stdin);
fgets(s,33,stdin);
for(i&=&3;&i&&=&0;&--i)&{
IP[i]&=&0;
for(j&=&8&*&(3&-&i);&j&&&8&*&(4&-&i)&&&&s[j];&++j)
IP[i]&=&2&*&IP[i]&+&s[j]&-&'0';
printf(&%d%c&,IP[i],((i&&&0)&?&'.'&:&'\n'));
} } return&0;}
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁}

我要回帖

更多关于 js字符串转换日期 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信