zoukankan      html  css  js  c++  java
  • C#生成一组连续的十六进制地址字符串

    首先随机地生成一个十六进制串,就用字符串构造一个吧。

    随机数用Random.Next();生成,不过需要注意的是,这个函数用当前始终作为随机种子,无论循环执行多少次函数GetRandomAddress()得到的都是相同的结果。

            private char[] RandomSet = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
    public string GetRandomAddress()
            {
                Random rd = new Random();
                string result = "0x00";
                for (int i = 0; i < 6; i++)
                {
                    result += RandomSet[rd.Next(0, 16)];
                }
                return result;
            }        

    得到一个十六进制字符串了,例如 0x00BF46D3  ,接下来就实现一下步长为16的串吧。

    十六进制转换为十进制,加16在转换为十进制就行了。

            static void Main(string[] args)
            {
                HexComputing hc = new HexComputing();
                string hexNum = hc.GetRandomAddress();
                Console.WriteLine(hexNum);
                int decNum = Convert.ToInt32(hexNum, 16);
                Console.WriteLine(decNum);
                Console.WriteLine("0x00{0:X}", decNum + 16);
                Console.WriteLine("0x00{0:X}", decNum + 32);
                Console.WriteLine("0x00{0:X}", decNum + 48);
    
                Console.ReadKey();
            }

    执行结果是

    0x009CB442
    10269762
    0x009CB452
    0x009CB462
    0x009CB472

    显然正确

  • 相关阅读:
    1、jquery_属性和选择器
    sqlserver2012——SqlCommand创建对象的三种方法
    数据库视频
    插件源码
    打包部署
    SpringCloud-Demo
    SpringCloud
    分布式管理
    security-oauth2
    ES的使用
  • 原文地址:https://www.cnblogs.com/zhaoke271828/p/14253909.html
Copyright © 2011-2022 走看看