字符串-06. IP地址转换(20)
来源:互联网 发布:红帽linux系统下载iso 编辑:程序博客网 时间:2024/05/20 02:26
其实就是 点分十进制的转化, 32位ip地址 , 每8位转换成一个十进制的数字(0-255之间), 所以遍历字符串ip_binary,每八位转化一次。
每次读进来的数都是从最高位开始的,权值从2^7到 2^0递减,数就直接读进来(注意:读进来的是字符,要转成数字)。
#include <stdio.h>#include <math.h>int main(int argc, const char* argv[]){char ip_binary[32];int ip_decimal[4] = {0};int i, j, cnt = 0;gets(ip_binary);/* 每八位转化成一个是十进制数 */for(i = 0; i < 32; i += 8){/* 8个数字,最高位2^7, 最低位2^0*/int power = 7;for(j = i; j < i + 8; j++){ip_decimal[cnt] += (ip_binary[j]-'0') * pow(2, power);power --;}cnt ++;}for(i = 0; i < 4; i++){printf("%d", ip_decimal[i]);if(i < 3)printf(".");}return 0;}
0 0
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- PAT_B_字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)
- 字符串-06. IP地址转换(20)(Y)
- 字符串-06 IP地址转换(20)
- ip地址转换成字符串
- 字符串IP地址和二进制IP地址的转换
- ip地址,字符串、数字格式转换
- IP地址 DWORD与字符串转换
- IP地址 DWORD与字符串转换
- IP地址字符串与数组转换
- 基于逆波兰表达式的公式解析器-算法和思路(一)
- SlidingMenu的简单使用
- 在win7 64位下安装cgal
- 66.求最长字符串
- UI界面库
- 字符串-06. IP地址转换(20)
- Python Interface linuxCNC
- Oracle 11g RAC ohasd failed to start at /u01/app/11.2.0/grid/crs/install/rootcrs.pl line 443 解决方法
- [Leetcode]-containsNearbyDuplicate
- [leetcode] 89.Gray Code
- 欢迎使用CSDN-markdown编辑器
- 初学Laravel4常见的问题之三
- Elyar的Java笔记--Java IO 操作
- 二维码的生成与扫描