无符号整型转点分十进制

网络十进制转换成点分十进制 网络十进制转换成点分十进制,4字节的十进制转换为IPV4的点分十进制--C语言实现 立即下载

/*题目3:(简答题:10.0分)
实现函数将 unsigned int 整型数值转为点分十进制记法表示:
点分十进制(Dotted Decimal Notation)全称为点分(点式)十进制表示法,
是IPv4的IP地址标识方法。
IPv4中用四个字节表示一个IP地址,每个字节按照十进制表示为0~255。
点分十进制就是用4个从0~255的数字,来表示一个IP地址。
char * my_DotDec(unsigned int ip,char *buffer);
参数说明:
value:欲转换的数数值。
buffer:目标字符串的地址。
示例: ip = 2148205343; buffer = “128.11.3.31”;

注意,无符号整形变量命名,不然一天就过去了

#include <iostream>
#include <ctype.h>
#include <stack>

using  namespace  std;


char my_itoa_single(int p,int radix)
{
    if(radix == 16 && p >= 10)
    {
        return p + 'W';
    }
    else
    {
        return p + '0';
    }
}

void my_itoa(unsigned value, char *buffer, int radix)
{
    char * p = buffer;
    unsigned itmp = 0;
    char ctmp;
    stack<char> sta;
    if(radix != 10)
    {
        *p = '0';
        ++p;
        if(radix == 16)
        {
            *p = 'X';
            ++p;
        }
    }
    while(value)
    {
        itmp = value%radix;
        value = value/radix;
        ctmp = my_itoa_single(itmp,radix);
        sta.push(ctmp);
    }
    while(!sta.empty())
    {
        *p = sta.top();
        sta.pop();
        ++p;
    }
}


//10进制数转2进制,并保存在bool类型数组中
void DEC_to_BIN(unsigned int value, bool *buffer)
{
    bool * p = buffer;
    bool itmp = 0;
    stack<bool> sta;
    while(value)
    {
        itmp = value%2;
        value = value/2;
        sta.push(itmp);
    }
    while(!sta.empty())
    {
        *p = sta.top();
        sta.pop();
        ++p;
    }
}

//二进制数转成无符号整型
unsigned int  BIN_to_UIN(bool *p)
{
    stack<bool> sta;
    unsigned int sum = 0;
    unsigned int tmp = 0;
    int i ,j;
    for(i = 0;i < 8;++i)
    {
        sta.push(*p);
        ++p;
    }
    for(i = 0; i < 8;++i)
    {
        tmp = sta.top();
        sta.pop();
        for(j = 0;j < i;++j)
        {
            tmp = tmp * 2;
        }
        sum += tmp;
    }
    return sum;
}

//unsigned int 整型数值转为点分十进制记法
void  UIN_to_DDN(unsigned int value, char *IP_address)
{
    bool buffer[32] = {0};
    DEC_to_BIN(2148205343, buffer);
    bool *p = buffer;
    char *q = IP_address;
    unsigned int tmp = 0;
    for(int i = 0;i < 4;++i)
    {
        tmp = BIN_to_UIN(p);
        my_itoa(tmp,q,10);
        while(*q != '\0')
        {
            ++q;
        }
        *q = '.';
        ++q;
        p = p + 8;
    }
    --q;
    *q = '\0';
}

int main()
{
    bool buffer[32] = {0};
    char IP_address[16] = {0};
    DEC_to_BIN(2148205343, buffer);
    for(int i = 0;i < 32;i++)
    {
        printf("%d",buffer[i]);
    }
    printf("\n");
    printf("%d\n",BIN_to_UIN(buffer));
    UIN_to_DDN(2148205343,IP_address);
    printf("%s\n",IP_address);
    return 0;
}

ip点分十进制和INT数值相互装换.txt python实现ip点分十进制核INT数值相互装换,IP转数值int,int转点分十进制 立即下载

相关推荐

在Ubuntu22.04.2远程服务器上搭建OHIF+Orthanc

在Ubuntu远程服务器上不翻墙,但是本地windows需要科学上网开始之前,首先在终端输入export -p查看是否有代理端口如下如果有就关了,输入如下命令。

weixin_51116549的博客 1339

华为OJ:ip地址与整数之间的转换

原理:ip地址的每段可以看成是一个0-255的整数,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成 一个长整数。 举例:一个ip地址为10.0.3.193 每段数字 相对应的二进制数 10 00001010 0 00000000 3 000

恩,其实你很菜... 659

Agent 操作系统:未来的 Harness 平台

在大模型技术爆发的当下,自主智能体(Agent)已经成为AI原生应用的核心载体,但当前Agent开发面临着碎片化严重、运维难度高、规模化落地难三大核心痛点,就像1970年代没有通用操作系统的裸机编程时代,开发者需要重复造轮子解决底层基础设施问题。本文将深度解析Agent操作系统(Agent OS)作为AI原生时代的底层基础设施的核心定位,以及下一代Harness平台如何将Agent OS与成熟的DevOps、CI/CD、可观测性、成本管理能力深度融合,成为AI原生应用全生命周期管理的统一平台。

软件工程实践的博客 279

网络编程——字节序和地址转换

是指多字节数据的存储顺序,数据在内存中存储的方式。

qq_57737603的博客 624

jlink驱动安装

jlink驱动下载安装及keil识别

qq_43868701的博客 3万+

Modscan32连接上了却没数据?一文拆解所有报错(从“Device NOT CONNECTED”到“Checksum Error”)

本文深入解析Modscan32连接异常问题,从状态栏报错到数据异常,提供系统化的诊断思路和解决方案。涵盖物理层问题、配置参数错位、端口占用冲突等常见故障,帮助工程师快速定位和解决Modbus通信中的各类错误。

weixin_30384217的博客 397

linux下 如何将一个长整型转换成一个点分十进制地址,如何实现字符IP地址和整型数转换?...

IP地址(Internet Protocol Address),全称为网际协议地址,是一种在Internet上的给主机编址的方式。IP堪称为互联网的重要的桥梁,是为计算机网络相互连接进行通信而设计的协议。作为IP协议提供的一种统一的地址格式,常见的IP地址分为IPv4与IPv6两大类,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。IPV4地址是一个32位的二进制数...

weixin_33891343的博客 480

【FOC无刷电机控制】六步换向、FOC,STM32cubemx从零开始搭建BLDC六步换相代码、FOC代码(基于霍尔传感器)

FOC、六步换相,无刷电机控制

xifan的博客 3万+

点分十进制换算

点分十进制换算

weibalabala的博客 1669

【例1896】report all clearance datasets 报告所有间隙数据集

report all clearance datasets 报告所有间隙数据集》这是一个NX二次开发官方小例子,下面是代码和解析。相较于混乱、未经验证的代码,官方案例能够确保开发者获得准确的开发方法,这些官方示例代码经过严格测试,能够正确地反映出NX软件的功能和API使用方式,有助于开发者系统地掌握NX二次开发技能,提高开发质量和效率。本专栏订阅后是永久阅读的。欢迎一起学习NX二次开发案例,逐步积累宝贵的经验,早日成为行业专家。

王牌飞行员_里海的博客 644

航天设备研制中的形态分类:电性件、正样件及其他关键形态详解

航天设备的研制是一个高度复杂且严谨的工程过程,涉及多个阶段的不同产品形态。这些形态各具特点,在研制流程中承担着不同的验证任务和工程目标。本文将系统介绍航天设备研制中的主要形态,包括**电性件(EM)**、**正样件(FM)**以及**结构热控件(STM)**、**鉴定件(QM)**和**初样件(PFM)**等,详细解析它们的定义、用途和工程意义,帮助读者全面理解航天产品从设计到飞行的全生命周期管理。

ScilogyHunter的博客 1661

!!!IP地址转换

题目描述: IP地址的长度为32,即有2^32-1个地址。IP地址一般采用点分十进制表示法,例如"192.168.1.1"。IP地址也可以直接用一个32位的整数进行表示。本题目要求根据给定的整数IP地址表示发,将其转换为点分十进制的形式。 例子: 输入整数IP地址为 3232235777 其对应十六进制为 0xC0A80101 每字节转为十进制 0xC0=192,0xA8=168,0x0

少点套路,多点诚意 1048

AutoSAR系列讲解(入门篇)2.2-SWC的类型

该章讲解了两种SWC的分类,并且映射到实际的工程中应该是具体的什么文件类型

雪云飞星的博客 4万+

IP地址点分十进制打印

IPV4:ip地址由32个bit位构成(32个二进制位) IPV6:ip地址由128个二进制位构成

qq_48083892的博客 734

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

点分十进制表示的字符串转换为 unsigned int 整型数值

/*题目4:(简答题:10.0分) 实现函数将点分十进制表示的字符串转换为 unsigned int 整型数值 unsigned int my_ResDotDec(const char *strip); 参数说明:strip 点分十进制表示的字符串; 示例: strip =“128.11.3.31” ; 返回值: 2148205343; strip =“128.399.2.12” ; 返回值为 UINT_MAX #include <iostream> #include <ctype.h&

wind_waves的博客 1076

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Linux环境下点分十进制和整型IP间的相互转换

本文介绍Linux环境下使用Unix网络编程实现点分十进制和整型ip地址间的相互转换,以及那些应该规避的问题。 先从示例代码讲起: //输入点分十进制的IP,将其转换成整型后,再反向转换进行验证 #include #include #include #include #include using namespace std; unsigned int IPtoInt(char

cjf_wei的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

【C语言】共用体详解

xiaoxiaoguailou的博客 1447

Linux网络编程笔记 - 05 地址转换函数 32位整数,转换为点分十进制

#include <arpa/inet.h> const char *inet_ntop(int af, const void *src, char *dst, socklen_t size); 功能:将一个网络大端的32位数据转换成一个点分十进制串。 参数: af: AF_INET src: 32位网络大端的数据地址 dst:存储点分十进制串数组的地址 size:socklen_t无符号整型,存储点分十进制串数组的大小 返回值:1成功/0失败 book@100ask:~/l...

我思故我在! 819

无符号整数转换为点分十进制IP地址

无符号整数转换为点分十进制IP地址

Amazing 560

IP地址比较大小

  有些任务,需要对点分十进制类型的字符串IP地址进行比较。例如比较一个IP是否在一个IP段内。该如何做呢,直接上代码...... 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <arpa/inet.h> 4 #include <netinet/in.h> 5...

weixin_30509393的博客 1981

c++学习2|零值的判断 大端小端 柔性数组 位断 点分十进制

printf 和 sprintf 都使用格式化字符串来指定串的格式,在格式串内部使用一些以“%”开头的格式说明符(format specifications)来占据一个位置,在后边的变参列表中提供相应的变量,最终函数就会用相应位置的变量来替代那个说明符,产生一个调用者想要 的字符串。在正常情况下,结构体的大小需要补足空间的操作,int占4字节,char占1字节等等,但位断使得:a占四字节,b占3字节。结构体中未定义大小的数组称为柔性数组,不占用结构体大小,只是占位标记,在使用时,需要多少定义多少的大小。

m0_53157551的博客 257

地址转换函数(ip地址在计算中的识别方式,ipv4与ipv6,inet_ntop函数和inet_pton函数)

ip地址如192.168.3.103是字符串在计算机中该字符串ip用整型保存并识别。

分享计算机视觉,C++,网络摄像头研发,音视频开发,嵌入式等知识。 523

整数与IP地址之间的转换

题目 类型:位运算 难度:简单 注意:IP可能超过int需要用无符号整型,并且牛客的判题系统while中的scanf必须要不等于EOF不然会出错。 #include <cstdio> #include <iostream> #include <cstring> using namespace std; int main(){ unsigned int...

姚军 341

ip地址转换成字符串

from://http://hi.baidu.com/hst_jiangbo/item/2a66d8eadeacb3215b2d643a 从网络上接收的ip地址,有时候为了节省空间,用一个32位无符号整形数据表示ipv4地址。我们接收到之后,又需要转换成呢个数字和点格式的字符串来进行后续的操作。 比较勤奋点的人会自己写个函数做转换。 我属于比较懒的。不愿意做别人已经做

occupy8的专栏 2万+

IP地址转整数

#include<stdio.h> union IP{ struct { unsigned char a1; unsigned char a2; unsigned char a3; unsigned char a4; } ip; unsigned int num; }; int is_little(){ static int num = 1; return ((char *)(&num))[0]; } int main(){ printf("%d\n",

hhhertzzz的博客 211
上一篇: My——itoa
下一篇: 点分十进制表示的字符串转换为 unsigned int 整型数值
恩嗯
博客等级 码龄8年 47粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值