public static class IntHelper
{
/// <summary>
/// 转换为2进制字符串
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string To2Base(this int num)
{
return Convert.ToString(num, );
} /// <summary>
/// 转换为8进制字符串
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string To8Base(this int num)
{
return Convert.ToString(num, );
} /// <summary>
/// 转换为16进制字符串
/// </summary>
/// <param name="num"></param>
/// <returns></returns>
public static string To16Base(this int num)
{
return Convert.ToString(num, );
} /// <summary>
/// 2进制字符串转换为int
/// </summary>
/// <param name="numStr"></param>
/// <returns></returns>
public static int From2Base(this string numStr)
{
return Convert.ToInt32(numStr, );
} /// <summary>
/// 8进制字符串转换为int
/// </summary>
/// <param name="numStr"></param>
/// <returns></returns>
public static int From8Base(this string numStr)
{
return Convert.ToInt32(numStr, );
} /// <summary>
/// 16进制字符串转换为int
/// </summary>
/// <param name="numStr"></param>
/// <returns></returns>
public static int From16Base(this string numStr)
{
return Convert.ToInt32(numStr, );
} /// <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 < || xBase > )
{
throw new ArgumentOutOfRangeException("参数值不在2~36的范围内");
} if (xBase == ) return number.ToString(); int n = xBase;
int q = number;
int r;
string rtn = ""; while (q >= n)
{
r = q % n;
q = q / n; if (r < )
rtn = r.ToString() + rtn;
else
rtn = Convert.ToChar(r + ).ToString() + rtn; } if (q < )
{
rtn = q.ToString() + rtn;
}
else
{
rtn = Convert.ToChar(q + ).ToString() + rtn;
} return rtn;
} /// <summary>
/// 判断是否为素数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsPrime(this ulong value)
{
//质数(素数)定义为在大于1的自然数中
if (value > )
{
//除了2的偶数都是合数
if (value.IsEvenNumber())
{
//2是特殊的素数
return value == ;
} for (ulong i = ; (i * i) <= value; i += )
{
if ((value % i) == )
{
return false;
}
} return value != ;
} return false;
} /// <summary>
/// 是否是偶数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsEvenNumber(this long value)
{
if (value < )
{
value = value * -;
} //value & 1==0则必为偶数
return (value & ) == ;
} /// <summary>
/// 是否是偶数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsEvenNumber(this ulong value)
{
//value & 1==0则必为偶数
return (value & ) == ;
} /// <summary>
/// 是否是奇数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool IsOddNumber(this ulong value)
{
//value & 1==0则必为偶数
return (value & ) > ;
}
}

c#工具类之Int扩展类的更多相关文章

  1. [Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集]

    [Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAP ...

  2. C#工具类之素数扩展类

    /// <summary> /// 素数帮忙类 /// 本类是从.net源码 类 internal static class HashHelpers 类里抽取相应的代码 /// https ...

  3. C#工具类之字符串扩展类

    /// <summary> /// 字典串帮忙类 /// </summary> public static class StringHelper { /// <summa ...

  4. C#工具类之字典扩展类

    using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...

  5. C#工具类之日期扩展类

    /// <summary> /// DateTimeHelper /// </summary> public static class DateTimeHelper { /// ...

  6. C#工具类之XmlNode扩展类

    using System; using System.Linq; using System.Xml; /// <summary> /// XmlNodeHelper /// </su ...

  7. ios开发总结:Utils常用方法等收集,添加扩展类,工具类方法,拥有很多方便快捷功能(不断更新中。。。)

    BOBUtils 工具大全 本人github开源和收集功能地址:https://github.com/niexiaobo [对ios新手或者工作一年以内开发人员很有用处] 常用方法等收集.添加扩展类. ...

  8. DRF框架(五)——context传参,二次封装Response类,两个视图基类(APIView/GenericAPIView),视图扩展类(mixins),子类视图(工具视图),视图集(viewsets),工具视图集

    复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查 ...

  9. Java+7入门经典 - 6 扩展类与继承 Part 1/2

    第6章 扩展类与继承 面向对象编程的一个重要特性: 允许基于已定义的类创建新的类; 6.1 使用已有的类 派生 derivation, 派生类 derived class, 直接子类 direct s ...

随机推荐

  1. linq to sql 不能更新的问题

    今天在项目中用linq更新一个表的时候,结果怎么都更新不了,最蛋疼的是什么异常也不报,发现db.table1.isReadOnly为True 知道问题所在,百度后得到解决办法: 原来是我的表没有增加主 ...

  2. c# 类的初步认识

    这里我们把类分为三种: String类(字符串类):Math类(数学类):DateTime类(时间日期类). 在使用类时注意  在输入的过程中代码前面会出现一些符号(紫色立方体代表方法,函数和黑色扳手 ...

  3. ROS Learning-005 beginner_Tutorials 创建ROS程序包(就是软件包)

    ROS Indigo beginner_Tutorials-04 创建ROS程序包(就是软件包) 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu ...

  4. QGraphicsScene绘制网格背景

    博客转载自:https://blog.csdn.net/u010177010/article/details/51496038 //两条轴线QPolygonF myPolygon1; myPolygo ...

  5. 【Boost】boost库中timer定时器 1

    博客转载自:http://blog.csdn.net/liujiayu2/article/details/50384537 同步Timer asio中提供的timer名为deadline_timer, ...

  6. meteor 命令文件shell 解析

    #!/bin/bash # This is the script that we install somewhere in your $PATH (as "meteor")# wh ...

  7. jquery文件上传控件 Uploadify 可以和ajax交互

    http://www.cnblogs.com/mofish/archive/2012/11/30/2796698.html  原网址 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同 ...

  8. .NET 实体转换辅助类

    /// <summary> /// 实体转换辅助类 /// </summary> public class ModelConvertHelper<T> where ...

  9. 【京东助手】滑稽东试用助手 V1.6.0

    很久没写博客了,发个最近在做的一个软件! 滑稽东试用助手现有功能1.自动申请试用2.自动领取京豆3.自动签到领取京豆说明:该软件使用C#开发,若要运行此应用程序,您必须首先安装 .NET4.01.双击 ...

  10. STM32单片机串口中断+DMA使用(含CUBE配置)

    最近又要重新用32做点东西,发现一两年没怎么碰的结果就是,曾经熟得不行的东西都变得极度陌生,这种重新学习记忆的过程过于痛苦,果然还是要留下一些记录给之后失忆的自己的. 1.STM32CUBE配置 1. ...