c语言点分十进制IP转整型

简介: c语言点分十进制IP转整型
#include <iostream>
using namespace std;
char* intToBin(int a)
{
  char *str = (char *)malloc(8);
  memset(str, '0', 8);
  str[8] = '\0';
  //cout << strlen(str) << endl;
  int i = 7;
  while (a && i >= 0) {
    //cout << i << endl;
    //cout << a % 2;
    str[i--] = (a % 2 + '0');
    a /= 2;
  };
  return str;
}
int binToInt(const char *str)
{
  int ans = 0;
  for (int i = strlen(str) - 1; i >= 0; i--) {
    ans += (str[i] - '0') * (pow(2, strlen(str) - 1 - i));
  }
  return ans;
}
int arr[4] = { 0 };
int fun(const char *str) 
{
  int k = 3;
  for (int j = strlen(str) - 1, m = 1; j >= 0; j--) {
    if (str[j] == '.') {
      m = 1;
      k--;
      continue;   
    }
    arr[k] += m * (str[j] - '0');
    m = m * 10;
  }
  /*cout << arr[0] << endl;
  cout << arr[1] << endl;
  cout << arr[2] << endl;
  cout << arr[3] << endl;*/
  //cout << strlen(str) << endl;
  return 0;
}
int main()
{
  const char *s = "127.0.0.1";
  fun(s);
  char *str = (char *)malloc(33);
  memset(str, '\0', 33);
  for (int i = 0; i < 4; i++) {
    //cout << intToBin(arr[i]) << endl;
    memcpy(str + (i * 8), intToBin(arr[i]), 8);
  }
  cout << str << endl;
  cout << binToInt(str) << endl;
  //cout << fun(s) << endl;
  //cout << intToBin(127) << endl;
  return 0;
}
相关文章
|
1月前
|
C语言
【C语言】求整型变量和浮点型变量的绝对值
【C语言】求整型变量和浮点型变量的绝对值
25 0
|
1月前
|
存储 C语言
C语言实现二进制到十进制
C语言实现二进制到十进制
13 0
|
3月前
|
存储 C语言
C语言实现十进制转化为十六进制-------数组,switch语句,while循环语句
C语言实现十进制转化为十六进制-------数组,switch语句,while循环语句
|
5月前
|
Linux C语言
百度搜索:蓝易云【Linux c语言获取本机 ip、子网掩码教程。】
需要注意的是,代码中的接口名称为"eth0",你可以根据实际情况修改为你的网络接口名称。在程序中,我们使用 `ioctl`函数进行控制操作,通过 `SIOCGIFADDR`获取IP地址,通过 `SIOCGIFNETMASK`获取子网掩码。
71 3
|
29天前
|
存储 小程序 编译器
C语言数据存储 — 整型篇
C语言数据存储 — 整型篇
22 0
|
1月前
|
存储 程序员 C语言
深入理解C语言中的整型数据类型及其应用
深入理解C语言中的整型数据类型及其应用
12 0
|
1月前
|
存储 Shell C语言
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
【C/C++ 字符串与整型转换函数】探索C语言中的字符串和整型之间的转换函数
15 0
|
1月前
|
存储 C语言
十进制转二进制,C语言的必备技能
十进制转二进制,C语言的必备技能
|
1月前
|
存储 C语言
C语言十进制转二进制
C语言十进制转二进制
26 0
|
1月前
|
存储 物联网 编译器
详解【C语言】类型转换--整型提升,算术
详解【C语言】类型转换--整型提升,算术