zoukankan      html  css  js  c++  java
  • X进制与10进制之间的转换


    在网上看到有16进制转为10进制,10转为16进制的方法,我这里做个X进制与10进制之间转换,算法与16<-->10直接的转换算法是相似的。

    X进制与10进制之间的转换:

    Declare @x nvarchar(1024)
    Declare @y int
    Declare @sys int --x进制

    Set @x='30'
    Set @sys=21 --@sys=21表示二十一进制

    --x进制转换成10进制
    ;With 
    T1 
    As(
        
    Select 
                X
    =Stuff(Reverse(@x),1,1,''),
                Y
    =Convert(int,Case Isnumeric(Right(@x,1)) When 0 Then ASCII(Upper(Right(@x,1)))-55 Else Right(@x,1End*Power(@sys,0)),
                L
    =Convert(int,1)
        
    Union All
        
    Select 
                X
    =Stuff(X,1,1,''),
                Y
    =Convert(int,Case Isnumeric(Left(X,1)) When 0 Then ASCII(Upper(Left(X,1)))-55 Else Left(X,1End*Power(@sys,L)),
                L
    =L+Convert(int,1)
        
    From T1
        
    Where X>''    
    )
    Select [10进制-->X进制]=SUM(Y) From T1

    --10进制换成x进制转
    Set @y=32
    Set @sys=2 --@sys=2表示二进制
    ;With
    T1 
    As(
        
    Select 
                X
    =Convert(int,@y/@sys),
                Y
    =Convert(nvarchar(1024),Case (@y%@sys)/10 When 0 Then Rtrim(@y%@sysElse Char(@y%@sys%10+65End),
                L
    =Convert(int,1)
        
    Union All
        
    Select 
                X
    =X/@sys,
                Y
    =Convert(nvarchar(1024),Case (X%@sys)/10 When 0 Then Rtrim(X%@sysElse Char(X%@sys%10+65End+Y),
                L
    =Convert(int,L+1)
        
    From T1 Where X>0
    )
    Select Top 1 [x进制-->10进制]=From T1  Order By L Desc




    结果:
    10进制-->X进制
    -----------
    63

    (1 行受影响)

    x进制-->10进制
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    100000

    (1 行受影响)



  • 相关阅读:
    Moment.js 超棒Javascript日期处理类库
    java模拟http/https post请求
    Mysql中int和varchar类型
    ssh免密码登录
    Linux优雅退出问题
    Jenkins的权限控制和Rundeck的远程认证
    Jenkins系统+独立部署系统
    Nginx基本介绍
    初窥项目构建
    Rundeck概况
  • 原文地址:https://www.cnblogs.com/wghao/p/1209590.html
Copyright © 2011-2022 走看看