zoukankan      html  css  js  c++  java
  • c#工具类之Int扩展类

     public static class IntHelper
        {
            /// <summary>
            /// 转换为2进制字符串
            /// </summary>
            /// <param name="num"></param>
            /// <returns></returns>
            public static string To2Base(this int num)
            {
                return Convert.ToString(num, 2);
            }
    
            /// <summary>
            /// 转换为8进制字符串
            /// </summary>
            /// <param name="num"></param>
            /// <returns></returns>
            public static string To8Base(this int num)
            {
                return Convert.ToString(num, 8);
            }
    
            /// <summary>
            /// 转换为16进制字符串
            /// </summary>
            /// <param name="num"></param>
            /// <returns></returns>
            public static string To16Base(this int num)
            {
                return Convert.ToString(num, 16);
            }
    
            /// <summary>
            /// 2进制字符串转换为int
            /// </summary>
            /// <param name="numStr"></param>
            /// <returns></returns>
            public static int From2Base(this string numStr)
            {
                return Convert.ToInt32(numStr, 2);
            }
    
            /// <summary>
            /// 8进制字符串转换为int
            /// </summary>
            /// <param name="numStr"></param>
            /// <returns></returns>
            public static int From8Base(this string numStr)
            {
                return Convert.ToInt32(numStr, 8);
            }
    
            /// <summary>
            /// 16进制字符串转换为int
            /// </summary>
            /// <param name="numStr"></param>
            /// <returns></returns>
            public static int From16Base(this string numStr)
            {
                return Convert.ToInt32(numStr, 16);
            }
    
            /// <summary>
            /// 将自然数转换了N进制字符串
            /// </summary>
            /// <param name="number">自然数</param>
            /// <param name="xBase">N进制(2~36之间)</param>
            /// <returns>N进制字符串</returns>
            public static string ToXBase(this int number, int xBase)
            {
                if (xBase < 2 || xBase > 36)
                {
                    throw new ArgumentOutOfRangeException("参数值不在2~36的范围内");
                }
    
                if (xBase == 10) return number.ToString();
    
                int n = xBase;
                int q = number;
                int r;
                string rtn = "";
    
                while (q >= n)
                {
                    r = q % n;
                    q = q / n;
    
                    if (r < 10)
                        rtn = r.ToString() + rtn;
                    else
                        rtn = Convert.ToChar(r + 55).ToString() + rtn;
    
                }
    
                if (q < 10)
                {
                    rtn = q.ToString() + rtn;
                }
                else
                {
                    rtn = Convert.ToChar(q + 55).ToString() + rtn;
                }
    
                return rtn;
            }
    
            /// <summary>
            /// 判断是否为素数
            /// </summary>
            /// <param name="value"></param>
            /// <returns></returns>
            public static bool IsPrime(this ulong value)
            {
                //质数(素数)定义为在大于1的自然数中
                if (value > 1)
                {
                    //除了2的偶数都是合数
                    if (value.IsEvenNumber())
                    {
                        //2是特殊的素数
                        return value == 2;
                    }
    
                    for (ulong i = 3; (i * i) <= value; i += 2)
                    {
                        if ((value % i) == 0)
                        {
                            return false;
                        }
                    }
    
                    return value != 1;
                }
    
                return false;
            }
    
            /// <summary>
            /// 是否是偶数
            /// </summary>
            /// <param name="value"></param>
            /// <returns></returns>
            public static bool IsEvenNumber(this long value)
            {
                if (value < 0)
                {
                    value = value * -1;
                }
    
                //value & 1==0则必为偶数
                return (value & 1) == 0;
            }
    
            /// <summary>
            /// 是否是偶数
            /// </summary>
            /// <param name="value"></param>
            /// <returns></returns>
            public static bool IsEvenNumber(this ulong value)
            {
                //value & 1==0则必为偶数
                return (value & 1) == 0;
            }
    
            /// <summary>
            /// 是否是奇数
            /// </summary>
            /// <param name="value"></param>
            /// <returns></returns>
            public static bool IsOddNumber(this ulong value)
            {
                //value & 1==0则必为偶数
                return (value & 1) > 0;
            }
        }
  • 相关阅读:
    【转】ThinkPHP 页面跳转
    thinkphp中select()和find()的区别
    (Python)异常处理try...except、raise
    python中try except处理程序异常的方法
    SNMP消息传输机制
    公钥私钥+数字证书原理
    转:使用python的Flask实现一个RESTful API服务器端
    转:xxe attack学习
    转:php防止sql注入的一点心得
    转:在 Ubuntu 上使用 Nginx 部署 Flask 应用
  • 原文地址:https://www.cnblogs.com/zhshlimi/p/6668259.html
Copyright © 2011-2022 走看看