zoukankan      html  css  js  c++  java
  • 将正数十进制转换为2~16进制数

    %trdec()主要用于将十进制转换为2~16进制数
    % n为输入的十进制数
    % b为要转换的基数

    %   Example
    %    trdec(10.0,2)  returns 1010.0000

    %软件作者:dpc525
    %联系EMAIL:dpc525@163.com
    %完成日期:2008-6-8
    %软件版本:1.0

    function dec=trdec(n,b)
    g = floor(n);            %求得数n的整数
    q=n-g;                   %求得数n的小数
    ch1='0123456789ABCDEF';  %十六进制的16个符号
    k=1;
    m=1;
    while g~=0         %辗转相除法求值
        p(k)=rem(g,b);
        g=fix(g/b);
        k=k+1;
    end
    while m>=1 & m<=4  %求小数的代码,设定为4位
        x=q*b;         %小数部分乘以基数
        h(m)=floor(x); %求所得乘积部分的整数
        q=x-h(m);      %乘积后的小数
        m=m+1;
    end
    k=k-1;
    m=m-1;
    strdec1='';strdec2='';
    while k>=1         %整数输出
        kb1=p(k);
        strdec1=strcat(strdec1,ch1(kb1+1:kb1+1));
        k=k-1;
    end
    while m>=1 & m<=4  %小数输出
        kb2=h(5-m);    
        strdec2=strcat(strdec2,ch1(kb2+1:kb2+1));
        m=m-1;
    end
    dec1=strcat(strdec1,'.'); %小数和整数合并
    dec=strcat(dec1,strdec2);

  • 相关阅读:
    NOIP前的一些计划
    回文自动机[学习笔记]
    Luogu-3705 [SDOI2017]新生舞会
    01分数规划[学习笔记]
    jvm参数总结
    读懂jstack
    PRODUCER配置加载
    为什么WAIT必须在同步块中
    NIO学习笔记
    dp求最长递增子序列并输出
  • 原文地址:https://www.cnblogs.com/dpc525/p/2398716.html
Copyright © 2011-2022 走看看