精华内容
下载资源
问答
  • 1、整数部分进制整数转换为二进制整数采用62616964757a686964616fe59b9ee7ad9431333337616533"除2取余,逆序排列"法。具体做法是:用2整除进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,...

    展开全部

    十进制数转二进制分2部分,整数和小数部分。

    1、整数部分

    十进制整数转换为二进制整数采用62616964757a686964616fe59b9ee7ad9431333337616533"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。

    2、小数部分

    十进制小数转换成二进制小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。

    示例:public class ErJinZhi{

    public String trans(int zheng){//转整数部分

    String temp = "";

    while(zheng!=0){//一直到整数部分为0

    temp = (zheng%2)+temp;//余数,并且拼接起来

    zheng = zheng/2;//除2取整

    }

    return temp;//余数拼起来后返回

    }

    public String trans(float xiao){

    if(xiao>1){//如果大于1,则有整数部分,出错了

    return "false";

    }

    String temp = "";

    int weishu = 10;        //小数位数,精度

    for(int i=0;i

    xiao*=2;//乘以2

    if(xiao>=1){//取整

    temp+="1";

    xiao = xiao-1;//去除整数后取小数

    }else{

    temp+="0";//取整数位

    }

    }

    return temp;//返回小数二进制数

    }

    public static void main(String[] args){

    System.out.println("Please input:");

    Scanner sc = new Scanner(System.in);

    float n = sc.nextFloat();//获取一个输入的十进制数

    int zheng = (int)n;//取整数部分

    float xiao = n-zheng;//取小数部分

    String temp = new ErJinZhi2().trans(zheng);//整数部分转换成二进制

    String temp2 = new ErJinZhi2().trans(xiao);//小数部分转换成二进制

    System.out.println(temp+"."+temp2);//输出二进制小数

    }

    }

    展开全文
  • 示例:把十进制数59转换成二进制数 二,十进制转换为二进制 1,整数部分:除二取余,余数倒序排列 2,小数部分:乘二取余,整数顺序排列 示例:把十进制数302.54转换成二进制数 三,二进制数转换为八进制...

    进制的运算

    一,十进制转换为R进制

    1,整数部分:除以R倒序取余数,商为0为止。
    2,小数部分:乘以R正序取整数,直到小数部分为0或精确到小数后两位。
    

    示例:把十进制数59转换成二进制数
    在这里插入图片描述

    二,十进制转换为二进制

    1,整数部分:除二取余,余数倒序排列
    2,小数部分:乘二取余,整数顺序排列
    

    示例:把十进制数302.54转换成二进制数
    在这里插入图片描述

    三,二进制数转换为八进制数(三位并一位)

    方式:以小数点为节点,从右向左,每三位一组,不足三位时补零

    在这里插入图片描述

    四,八进制数转换为二进制数(一位拆三位)

    方式:用三位二进制数代替每一位八进制数

    示例:613.53转换成二进制
    在这里插入图片描述

    展开全文
  • 基于MATLAB的进制转换

    千次阅读 2018-03-09 17:43:53
    1、常用进制转换方法(除k取余法)(1)十进制与二进制之间的转换 方法:除2取...下面举例: 将十进制59转换为二进制得出结果为(111011)2 (2) 二进制与八进制、十六进制之间的转换 首先,我们需要了解一个...

    1、常用进制转换方法(除k取余法)

    (1)十进制与二进制之间的转换 

    方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数.

    下面举例: 将十进制的59转换为二进制得出结果为(111011)2 

    (2) 二进制与八进制、十六进制之间的转换 

    首先,我们需要了解一个数学关系,即2^3=8,2^4=16,而八进制和十六进制是用这种关系衍生而来的,即用三位二进制表示一位八进制,用四位二进制表示一位十六进制数. 接着,记住4个数字8、4、2、1(2^3=8、2^2=4、2^1=2、2^0=1).

    (3)八进制与十进制的转换 

        1)八进制转换为十进制 
        方法:按权相加法,即将八进制每位上的数乘以位权,然后相加之和即是十进制数. 例:①将八进制数67.35转换为十进制 
        2)十进制转换为八进制 
        十进制转换成八进制有两种方法: 
        ①间接法:先将十进制转换成二进制,然后将二进制又转换成八进制 
        ②直接法:除8取余法

    2、大数进制转换

    (1)背景

    以上讲解的方法只适合位数较少的时候。而今这个大数据时代,我们要处理的数据动辄上万,假如你需要将一个矩阵(元素值为0,1。矩阵第一行第一列的元素为这个大数的第一位,最后一行最后一列为大数的最后一位)的所有值转换为其他进制,此时再采用除k取余法将超出计算机的存储空间,无法得到结果。因此需要引入大数进制转换的方法。

    (2)除法原理

    我们先来看一下熟悉的十进制除法。

    例:128÷4=32.我们是怎么运算的呢?

    ·    第一位 1÷4=0……1;

    ·    第二位(1*10+2)÷4=3;

    ·    第三位 8÷4=2.

    至此,除法结束,求得最终结果为32.

    那如果是128(10)=(??)4这个又该怎么转换呢?有同学肯定会说除4取余法啊。不好意思,我们这里需要运用这个简单的例子来引出大数进制转换的核心,因此我们不这么做。

    从上一个例子中我们求得了128÷4的解为32,我们将继续这个过程,直到最终的商为0,求解才结束。

    接下来我们需要计算32÷4=8.同理,

    ·    第一位 3÷4=0......3;

    ·    第二位 (3*10+2)÷4=8

    同样的方法,求解 8÷4,

    ·    第一位 8÷4=2

    接着求解2÷4

    ·    第一位 2÷4=0......2

    至此求解结束。总结上述过程如下:第一次求解 128÷4=32 ,商为 32 ,余数为 0 ;第二次求解 32÷4=8 ,商为 8 ,余数为 0 ;第三次求解 8÷4 ,商为 2 ,余数为 0;第四次求解 2÷4 =0......2 , 商为 0 ,余数为 2 。至此求解过程结束。聪明的同学可能已经发现我们在做什么了。

    总结:

            1)在将 m 进制的大数 big 转换为 n 进制的数的时候,我们需要用给定的大数去除以需要转换的进制 n(求解 big 除以 n 的时候需要特别注意 big 的进制,否则模拟除法求解过程可能会出错。) ;

            2)得到第一步求解的商和余数,如果此时商为 0  ,恭喜你转换结束;否则继续用商除以进制 n ,重复上述操作直至商为0;

            3)逆序输出得到的余数,即为所求。

    综合上述分析和总结我们可以得出:128(10)=(2000)4。我们来验算下,2*4^3=2*64=128,好神奇啊,居然对了。话不多说直接上代码。

    (3)MATLAB代码

    function res=bin2tri(msg)
    %进制转换程序
    
    %Inputs
    %%% msgLen   :   需要转换的数据位数
    
    %Outputs
    %%% res      :   求解的余数矩阵,也就是求解后的存放结果的矩阵
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    %                   算法原理                       %
    %       数字较小的时候可以采取除k取余的方法          %
    % 数字位数较大的时候需要模拟除法的原理来进行计算求解  %
    %           本算法中一律采用大数求解法              %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
    %                    例子                         %
    %               (1001)2=(100)3                    %
    %第一次                                           %
    %1001/3,从千位开始求解。千位:1/3=0,余数为1       %
    %                       百位:(1*2)/3=0,余数为2   %
    %                       十位:(2*2)/3=1,余数为1    %
    %                       个位:(1*2+1)/3=1,余数为0 %
    %第二次                                            %
    %11/3,从十位开始。       十位:1/3=0,余数为1       %
    %                       个位:(1*2=1)/3=1,余数为0 %
    %第三次                                            %
    %1/3,从个位开始。        个位:1/3=0,余数为1       %
    %第四次                                            %
    %0/3,结束                                         %
    %逆序取结果,得到100(最终余数)                                %
    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    % msg=[1 0 0 1];
    % msg=randint(1,msgLen);
    %原始进制
    oldbase=2;
    %新进制
    newbase=3;
    % 验证结果正确性
    % old=0;
    % new=0;
    % 求oldbase进制对应的值
    % for i=1:size(msg,2)
    %     old=old*oldbase+msg(i);
    % end
    %退出条件,被除数位数为0表示求解结束
    %余数个数累加
    j=1;
    while 0~=size(msg,2)
        temp=0;
        i=1;
        %赋值msg
        n=1;
        %去除ansout中的前置零
        m=1;
        %从最高位逐位求解,模拟除法过程
        while i<=size(msg,2)
            temp=temp*oldbase+msg(i);
            %此处需特别注意matlab求解除法得到的不是int型,需使用fix函数
            ansout(i)=fix(temp/newbase);
            temp=mod(temp,newbase);
            i=i+1;
        end
        %保存余数
        res(j)=temp;
        j=j+1;
        while m<=size(ansout,2) && ansout(m)==0
            m=m+1;
        end
        %消息清零,重新赋值,便于重复上述操作
        msg=[];
        for i=m:size(ansout,2)
            msg(n)=ansout(i);
            n=n+1;
        end
        ansout=[];
    end
    res=rot90(res,2);
    % 求newbase对应的值
    % for i=1:size(res,2)
    %     new=new*newbase+res(i);
    % end
    end

    展开全文
  • 整数部分,把十进制转成二进制一直分解至商数为0。读余数从下读到上,即是二进制整数部分数字。 小数部分,则用其乘2,取其整数部分的结果,再用计算后的小数部分依此重复计算,算到小数部分全为0为止,之后读所有...

    十进数转成二进数

    整数部分采用 "除2取余,逆序排列"法。

    整数部分,把十进制转成二进制一直分解至商数为0。读余数从下读到上,即是二进制的整数部分数字。 小数部分,则用其乘2,取其整数部分的结果,再用计算后的小数部分依此重复计算,算到小数部分全为0为止,之后读所有计算后整数部分的数字,从上读到下。
    将59 转成二进制:

    整数部分:
    59 ÷ 2 = 29 ... 1
    29 ÷ 2 = 14 ... 1
    14 ÷ 2 =  7 ... 0
     7 ÷ 2 =  3 ... 1
     3 ÷ 2 =  1 ... 1
     1 ÷ 2 =  0 ... 1
    

    十进制的59转化二进制为111011

    二进位转成十进位

    方法:“按权展开求和”,该方法的具体步骤是先将二进制的数写成加权系数展开式,而后根据十进制的加法规则进行求和 [6] 。

    【例】:

    在这里插入图片描述

    规律:个位上的数字的次数是0,十位上的数字的次数是1,…,依次递增,而十分位的数字的次数是-1,百分位上数字的次数是-2,…,依次递减。

    二进制的1011对应十进制的11

    使用位运算(&)代替取模运算(%)

    符号描述运算规则
    & 两个位都为1时,结果才为1
    | 两个位都为0时,结果才为0
    ^ 异或 两个位相同为0,相异为1
    ~ 取反 0变1,1变0
    << 左移 各二进位全部左移若干位,高位丢弃,低位补0
    >> 右移 各二进位全部右移若干位,对无符号数,高位补0,有符号数,各编译器处理方法不一样,有的补符号位(算术右移),有的补0(逻辑右移)

    位运算(&)效率要比取模运算(%)高很多,主要原因是位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。

    a % b == a & (b - 1)
    

    前提:b 为 2^n

    来源自 HashMap 中的 indexFor 方法:

    static int indexFor(int h, int length) {
       return h & (length-1);//h%length
    }
    

    这个方法是使用哈希值对链表数组的长度取模,得到值所在的索引位置,里面使用位运算(&)代替普通的(%)运算。

    展开全文
  • 2.6.8 DECIMAL——将给定基数的文本转换为十进制数 116 第3章 日期和时间函数 117 3.1 了解Excel日期系统 118 3.1.1 Excel提供的两种日期系统 118 3.1.2 了解日期和时间序列号 119 3.1.3 输入与设置日期和时间 ...
  • 70036 将十进制字符串转换为进制整数 22 70052 统计字符出现次数 23 夏3周 24 10008 求1~100中能被6整除的所有整数的和 24 20014 计算三门课程的平均成绩 25 20016 计算x的平方 25 20021 计算分段函数的值 25 ...
  •  实例026 使用as关键字将对象转换为指定类型 32 2.4 流程控制语句的使用 34  实例027 小明去学校和医院分别要走哪条路 34  实例028 利用条件语句判断用户登录身份 35  实例029 判断指定月份属于哪个季节 36 ...
  • 二进制中1的个数 测试10 第一题 数值的整数次方 测试11 第二题 打印1到最大的n位数 测试12 第三题 O(1)时间删除链表节点 测试13 第四题 使数组中的奇数位于偶数前面 测试14 第五题 找链表中倒数...
  • modbus通信协议

    热门讨论 2010-08-06 15:26:22
    在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 1、在Modbus网络上转输 标准的Modbus口是使用一RS-232C兼容串行...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数...
  • 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数...
  • 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数...
  • 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数...
  • 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数...
  • 0114 如何将十进制转换为二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换为十进制 79 4.5 类型转换函数 80 0117 使用IntToHex函数将整数转换为十六进制数 80 0118 使用Int函数...
  • C语言参考答案汇总(浙江大学城市...60002 整数十进制、八进制和十六进制表现形式 56 60003 分类统计字符 57 60006 验证歌德巴赫猜想 58 60007 使用函数输出整数的逆序 59 60009 统计单词 60 60062 简单计算器 61
  • 实例002 十进制转换为二进制 3 实例003 n进制转换为十进制 4 实例004 以IP地址形式输出 5 1.2 条件判断 6 实例005 3个由小到大排序 6 实例006 a2+b2 8 实例007 整倍数 9 实例008 判断闰年 10 实例...
  • 但如果这个key可以转换十进制数字时,会假设你想使用数值索引: <pre><code> js var a = [ ]; a['key'] = 'value'; a.length; // 0 a['13'] = 42; a.length; /...
  • 二进制和ASCII码文件 252 行尾难题 253 二进制I/O 255 缓冲问题 257 非缓冲I/O 258 设计文件格式 264 答案 266 编程练习 267 第五章 调试和优化 268 调试 268 交互调试器 280 调试一个二分查找程序 285...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    98 <br>0153 如何自定义数字小数点左边分组位数 98 <br>0154 格式化输入数据为货币格式 99 <br>0155 如何计算两个整数的乘积 99 <br>0156 如何将进制数转换为十进制数 100 <br>0157 如何...
  • 数组习题(3):完成十进制数转成为进制数 71%(2795/3951) 30% 2020-4-23 1043 函数习题(8):递归方法求n阶勒让德多项式的值 63%(1671/2652) 38% 2020-4-23 1044 函数习题(9):分解一个整数的所有素数因子 71%(2321/...
  • 89 普通分数转换为十进制数 第312~318目 90 用排除法解同余方程x2≡A 第319~322目 91 用排除法解不定方程mx2+ny2=A 第323~326目 92 A为负数时同余方程x2≡A的另一种解法 第327,328目 93 判别合数与素数及寻求...
  • 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- 65 97 48 32 2.CHR 给出...
  • Python Cookbook

    2013-07-31 22:33:26
    3.13 将十进制数用于货币处理 130 3.14 用Python实现的简单加法器 133 3.15 检查信用卡校验和 136 3.16 查看汇率 137 第4章 Python技巧 139 引言 139 4.1 对象拷贝 140 4.2 通过列表推导构建列表 144 4.3 ...
  • (1)功能:ADC0809芯片8通道模/数转换器,可以和单片机直接接口,将IN0~IN7任何一通道输入的模拟电压转换成八位二进制数,在时钟500KHZ时,一次变换时间约100us。 55 (2)使用方法:28脚双列直插式封装如图5...
  • 实例026 使用as关键字将对象转换为指定类型 32 2.4 流程控制语句的使用 34 实例027 小明去学校和医院分别要走哪条路 34 实例028 利用条件语句判断用户登录身份 35 实例029 判断指定月份属于哪个季节 36 实例030 使用...
  • oracle函数大全.doc

    2009-09-16 09:04:37
    将一个十六进制构成的字符串转换为二进制 45.RAWTOHEXT 将一个二进制构成的字符串转换为十六进制 46.ROWIDTOCHAR 将ROWID数据类型转换为字符类型 47.TO_CHAR(date,'format') SQL> select to_char(sysdate,'yyyy/mm/...
  • C语言编程要点

    2017-09-18 00:10:37
    4.6. 文本模式(textmode)和二进制模式(binarymode)有什么区别? 61 4.7. 怎样判断是使用流函数还是使用低级函数? 62 4.8. 怎样列出某个目录下的文件? 62 4.9. 怎样列出一个文件的日期和时间? 63 4.10. 怎样对某个目录...
  • 十六进制表示字节 0x5a:二进制为 01011010B;0x6E 01101110。 如果将一个 16 位二进赋给一个 8 位的字节变量,则自动截断低 8 位,而丢掉高 8 位。 ++var 表示对变量 var 先增一;var—表示对变量后减一。 ...

空空如也

空空如也

1 2 3
收藏数 50
精华内容 20
关键字:

十进制数59转换为二进制整数