数据之间的转换可以使用   System.Convert

Mac地址转换成long长整型

/// <summary>
/// 解析长整形的数据使其转换为macID
/// </summary>
/// <param name="valuetolong">长整形的数据</param>
/// <returns>macID字符串</returns>
public static string Int64ToMacID(long valuetolong)
{
//解析长整形的数据使其转换为MAC;
string valuetostr = valuetolong.ToString("X2");
valuetostr = valuetostr.PadLeft(12, '0');
List<string> listArr = new List<string>();
for (var i = 0; i <= 11; i++)
{
listArr.Add(valuetostr[i].ToString());
if (i < 11 && i % 2 == 1)
{
listArr.Add("-");
}
}
valuetostr = string.Join("", listArr.ToArray());
return valuetostr;
}

/// <summary>
/// 将MAC转为长整形
/// </summary>
/// <param name="macID">macID</param>
/// <returns>长整形</returns>
public static long MacIDToInt64(string macID)
{
long valuetolong = 0;
string v = null;
//将MAC转为长整形:
//测试:string vv = "00-26-2D-F2-5C-28".Replace("-", "");
//string v = macID.Replace("-", "");
if (macID.Contains("-"))
{
v = macID.Replace("-", "");
}
if (long.TryParse(v, System.Globalization.NumberStyles.HexNumber, null, out long macIDToInt64Result))
{
valuetolong = macIDToInt64Result;
}
return valuetolong;
}

private static String keys = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static int exponent = keys.Length;
public static string Long2MACID(long value)
{
string result = string.Empty;
do
{
long index = value % exponent;
result = keys[(int)index] + result;
value = (value - index) / exponent;
}
while (value > 0);
result = result.PadLeft(12, '0');
List<string> listArr = new List<string>();
for (var i = 0; i <= 11; i++)
{
listArr.Add(result[i].ToString());
if (i < 11 && i % 2 == 1)
{
listArr.Add("-");
}
}
return string.Join("", listArr.ToArray());
}
public static long MACID2Long(string value)
{
value = value.Replace("-", "");
long result = 0;
for (int i = 0; i < value.Length; i++)
{
int x = value.Length - i - 1;
result += keys.IndexOf(value[i]) * Pow(exponent, x);
}
return result;
}
/// <summary>
/// 一个数据的N次方
/// </summary>
/// <param name="x"></param>
/// <returns></returns>
private static long Pow(long baseNo, long x)
{
long value = 1;
while (x > 0)
{
value = value * baseNo;
x--;
}
return value;
}

Mac地址转换成long长整型 2的更多相关文章

  1. Mac地址转换成long长整型

    Mac地址转换成long长整型 using System;using System.Collections.Generic;using System.IO;using System.Text;usin ...

  2. IP地址转换32为长整型

    Programming Question: Convert an IPv4 address in the format of null-terminated C string into a 32-bi ...

  3. Python基础:数值(布尔型、整型、长整型、浮点型、复数)

    一.概述 Python中的 数值类型(Numeric Types)共有5种:布尔型(bool).整型(int).长整型(long).浮点型(float)和复数(complex). 数值类型支持的主要操 ...

  4. Java把长整型时间转成字符串日期

    数据库里存放的是timestamp格式,前端取得后是这种:1436255550710长整型时间截转换成"2015-07-07"这种格式呢? import java.io.IOExc ...

  5. [转]字符型IP地址转换成数字IP的SQL函数

    使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助.      /**//*--调用示例       sele ...

  6. JAVA 长整型转换为IP地址的方法

    JAVA 长整型转换为IP地址的方法 代码例如以下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Lon ...

  7. javascript没有长整型

    记录一下前几天踩坑的经历. 背景:一个项目某一版之后很多用easyui的表格控件treegrid渲染的表格都显示不出来了 奇怪的地方主要有以下几点: 项目在测试环境才会这样,在本机能够正常运行,多次重 ...

  8. 整型,长整型,无符号整型等 大端和小端(Big endian and Little endian)

    一.大端和小端的问题 对于整型.长整型.无符号整型等数据类型,Big endian 认为第一个字节是最高位字节(按照从低地址到高地址的顺序存放数据的高位字节到低位字节):而 Little endian ...

  9. python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串

    磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...

随机推荐

  1. 七年总结常用 Git 命令清单

    我每天使用 Git ,但是很多命令记不住. 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令. 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下 ...

  2. 写Django项目的开发工具或者编辑器

    pycharm是写django的最好的编辑器,优先使用pycharm.到官网下载pycharm →https://www.jetbrains.com/pycharm/download→ pycharm ...

  3. WMware Workstation——时间和时区问题

    对于学习Linux的人来说,最常见的做法就是在WMware Workstation下安装Linux系统.在WMware Workstation可能会有几处导致时间.时区问题. UTC时间导致时间不一致 ...

  4. 程序员修仙之路--优雅快速的统计千万级别uv

    菜菜,咱们网站现在有多少PV和UV了? Y总,咱们没有统计pv和uv的系统,预估大约有一千万uv吧 写一个统计uv和pv的系统吧 网上有现成的,直接接入一个不行吗? 别人的不太放心,毕竟自己写的,自己 ...

  5. Nginx http升级到https

    http和https的区别是 有的网站,http打开的时候,页面提示不安全,比如你点击下面的网站 [其实是同一个网站] http://www.511easy.com/bug/login http:// ...

  6. ResNet网络的Pytorch实现

    1.文章原文地址 Deep Residual Learning for  Image Recognition 2.文章摘要 神经网络的层次越深越难训练.我们提出了一个残差学习框架来简化网络的训练,这些 ...

  7. Linux网络编程综合运用之MiniFtp实现(五)

    转眼兴奋的五一小长假就要到来了,在放假前夕还是需要保持一颗淡定的心,上次中已经对miniFTP有基础框架进行了搭建,这次继续进行往上加代码,这次主要还是将经历投射到handle_child()服务进程 ...

  8. linux网络编程之posix共享内存

    今天继续研究posix IPC对象,这次主要是学习一下posix共享内存的使用方法,下面开始: 下面编写程序来创建一个共享内存: 编译运行: 那posix的共享内存存放在哪里呢?上节中学的posix的 ...

  9. 安装gitlab并汉化

    简介: GitLab是一个利用Ruby on Rails开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目. 它拥有与GitHub类似的功能,能够浏览源代码 ...

  10. 进程与线程与GIL的总结