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, );
} /// <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扩展类的更多相关文章
- [Django REST framework - 视图组件之视图基类、视图扩展类、视图子类、视图集]
[Django REST framework - 视图组件之视图基类.视图扩展类.视图子类.视图集] 视图继承关系 详图见文章末尾 视图组件可点我查看 两个视图基类:APIView.GenericAP ...
- C#工具类之素数扩展类
/// <summary> /// 素数帮忙类 /// 本类是从.net源码 类 internal static class HashHelpers 类里抽取相应的代码 /// https ...
- C#工具类之字符串扩展类
/// <summary> /// 字典串帮忙类 /// </summary> public static class StringHelper { /// <summa ...
- C#工具类之字典扩展类
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using S ...
- C#工具类之日期扩展类
/// <summary> /// DateTimeHelper /// </summary> public static class DateTimeHelper { /// ...
- C#工具类之XmlNode扩展类
using System; using System.Linq; using System.Xml; /// <summary> /// XmlNodeHelper /// </su ...
- ios开发总结:Utils常用方法等收集,添加扩展类,工具类方法,拥有很多方便快捷功能(不断更新中。。。)
BOBUtils 工具大全 本人github开源和收集功能地址:https://github.com/niexiaobo [对ios新手或者工作一年以内开发人员很有用处] 常用方法等收集.添加扩展类. ...
- DRF框架(五)——context传参,二次封装Response类,两个视图基类(APIView/GenericAPIView),视图扩展类(mixins),子类视图(工具视图),视图集(viewsets),工具视图集
复习 1.整体修改与局部修改 # 序列化get (给前端传递参数) #查询 ser_obj = ModelSerializer(model_obj) #只传递一个参数,默认是instance的参数,查 ...
- Java+7入门经典 - 6 扩展类与继承 Part 1/2
第6章 扩展类与继承 面向对象编程的一个重要特性: 允许基于已定义的类创建新的类; 6.1 使用已有的类 派生 derivation, 派生类 derived class, 直接子类 direct s ...
随机推荐
- NIO/AIO
1 NIO NEW IO 的简称,新的java I/O标准,jdk1.4纳入,有以下特点: (1)NIO基于block块,以块(硬盘数据块)为单位处理数据,比旧式的io基于流的效率高. (2)为各个基 ...
- Flash of Unstyled Content (FOUC)
在这次的产品发布中,客户发现了一个问题,就是在Firefox浏览器中,页面在加载的时候,出现没有样式的内容一闪而过的现象.其实,在测试过程中,我们也看到了类似的问题,但是并没有意识到这是一个问题,以为 ...
- php学习笔记-elseif
<?php if(condition1) { func1(); }elseif(condition2) { func2(); }else { func3(); } ?> elseif需要明 ...
- HiveServer2的配置使用
HiveServer2的配置和使用 hive-site.xml配置 hiveserver2的配置 <property> <name>hive.support.concurren ...
- NIO、AIO
- python列表--查找集合中重复元素的个数
方法一: >>> mylist = [1,2,2,2,2,3,3,3,4,4,4,4] >>> myset = set(mylist) >>> f ...
- CLRMonitor - 跟踪CLR内部执行过程工具
CLRMonitor v1.0.1511.13 点击此处下载 软件介绍:这款软件主要用于跟踪CLR内部执行过程,定位当前程序执行的命名空间以及方法名等信息.可以迅速找到被跟踪程序的当前执行方法名.本软 ...
- CodeForces 384E Propagating tree (线段树+dfs)
题意:题意很简单么,给定n个点,m个询问的无向树(1为根),每个点的权值,有两种操作, 第一种:1 x v,表示把 x 结点加上v,然后把 x 的的子结点加上 -v,再把 x 的子结点的子结点加上 - ...
- springMvc参数传递的方法
package cn.edu.hj.controller; import java.util.Map; import javax.servlet.http.HttpServletRequest; im ...
- Java50道经典习题-程序30 插入数字
题目:有一个已经排好序的数组.现输入一个数,要求将它插入数组中后数组依然是排好序的.分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置. imp ...