精华内容
下载资源
问答
  • 上一节我们学习了计算机中信息的表示方式,常用的进制...也就是说一个带小数的十进制数,我们整数与小数要分别使用不同的方法来转换成二进制数。如果是单独的十进制整数,那只需采用下面的方法。 整数部分十进制转换...

           上一节我们学习了计算机中信息的表示方式,常用的进制表示方式。那常用的进制之间是如何转换的呢?今天我们就来学习一下十进制转换二进制的方法。

           十进制的数我们可以看成由两部分组成。一个是整数部分,一个是小数部分。也就是说一个带小数的十进制数,我们整数与小数要分别使用不同的方法来转换成二进制数。如果是单独的十进制整数,那只需采用下面的方法。

          整数部分十进制转换二进制的方法我们称为“除2取余法”,得到的余数逆序排列,就得到了结果。

    9acb2d6e1ce2b6522906e9089e0bd140.png

           小数部分我们使用的方法是“乘2取整法”,得到的整数,正向排列,即把给定的十进制小数不断乘以2,取乘积的整数部分作为二进制小数如此不断重复,得到二进制小数的其他位。按要求保留位数。

    2a7580e4a86afcc7aae106cf07ebb4ec.png

    上述十进制转换二进制的方法同学们掌握了吗?找一些转换题再试试吧!

    下一篇我们会介绍二进制转换成十进制的方法,欢迎大家关注并阅读。

    5d8f9f82250a372b5add56033404f049.png

    本公众号介绍计算机基础知识及办公软件的使用方法,欢迎关注!

    展开全文
  • 上一节我们学习了计算机中信息的表示方式,常用的进制...也就是说一个带小数的十进制数,我们整数与小数要分别使用不同的方法来转换成二进制数。如果是单独的十进制整数,那只需采用下面的方法。 整数部分十进制转换...

           上一节我们学习了计算机中信息的表示方式,常用的进制表示方式。那常用的进制之间是如何转换的呢?今天我们就来学习一下十进制转换二进制的方法。

           十进制的数我们可以看成由两部分组成。一个是整数部分,一个是小数部分。也就是说一个带小数的十进制数,我们整数与小数要分别使用不同的方法来转换成二进制数。如果是单独的十进制整数,那只需采用下面的方法。

          整数部分十进制转换二进制的方法我们称为“除2取余法”,得到的余数逆序排列,就得到了结果。

    b4278e0a-4213-eb11-8da9-e4434bdf6706.jpeg

           小数部分我们使用的方法是“乘2取整法”,得到的整数,正向排列,即把给定的十进制小数不断乘以2,取乘积的整数部分作为二进制小数如此不断重复,得到二进制小数的其他位。按要求保留位数。

    b7278e0a-4213-eb11-8da9-e4434bdf6706.jpeg

    上述十进制转换二进制的方法同学们掌握了吗?找一些转换题再试试吧!

    下一篇我们会介绍二进制转换成十进制的方法,欢迎大家关注并阅读。

    ba278e0a-4213-eb11-8da9-e4434bdf6706.jpeg

    本公众号介绍计算机基础知识及办公软件的使用方法,欢迎关注!

    展开全文
  • package test;... * @description:不用java类库 十进制转二进制数  * @date:2017年7月15日  */ public class Binary {  public static String testBinary(int n) {  char a[] = new char[32];  i
    package test;

    /**
     * @author:Avery
     * @description:不用java类库 十进制转二进制数
     * @date:2017年7月15日
     */
    public class Binary {
     public static String testBinary(int n) {
      char a[] = new char[32];
      int i = 0;
      while (n > 0) {
       a[i++] = (char) (n % 2 + 48);
       n = n >> 1;
      }
      StringBuffer str = new StringBuffer();
      for (i = i - 1; i >= 0; i--)
       str.append(a[i]);// 倒取数组转为字符串
      return str.toString();
     }

     public static void main(String[] args) {
      System.out.println(testBinary(10));// 测试数据十进制数10
     }
    }
    展开全文
  • 注:部分网上查找的资料,如有侵权,请联系我...对于十进制转二进制,首先想到的就是"除2取余倒转"这种方法。稍微要注意的就是它是从低位开始,记得要倒转。  private void decimalToBinary(int n) {  ...

    注:部分网上查找的资料,如有侵权,请联系我删除!

    最近遇到了一个问题:一个十进制数解析成5位的2进制数,每位代表一个参数。简单记录下解决的方法和过程中学到的东西。

    一、进制转换问题

    1)除2取余倒转
    对于十进制转二进制,首先想到的就是"除2取余倒转"这种方法。稍微要注意的就是它是从低位开始,记得要倒转。
     private void decimalToBinary(int n) {
          StringBuilder binary = new StringBuilder();
          while (n != 0) {
              //因为是从低位开始的,所以使用insert方法,将字符拼接到原字符前面
              binary.insert(0, n % 2);
              n /= 2;
          }
          System.out.println("binary="+binary.toString());
     }

    2) API 
    在Integer里面有个toBinaryString(int i)方法,可以将十进制数位转化为二进制。这是最简单的方法
      private void decimalToBinary(int n) {
           System.out.println("binary="+Integer.toBinaryString(n));
      }
      
    3)移位运算 
    我们都知道,所有的数都是以二进制存储的,当我们将二进制数右移它的 (本身长度-1) 位,得到的就是它的最高位的值;
    如果是右移 (长度-2)位,那么得到的就是最高两位。但是我们只需要第二位,如何去掉最高位呢?因为在二进制中只有0和1两位数,这两个数&1得到的还是它本身。利用这个特性,我们可以将最高两位 &1,这样就可以消掉最高位而得到第二位。  

        private void decimalToBinary(int num, int size) { 

            StringBuilder binStr = new StringBuilder();
            for(int i = size-1;i >= 0; i--){
                binStr.append(num >>> i & 1);
            }
            System.out.println("binStr="+binStr.toString());
         }

    这里上面代码是有问题的,就是如果传入的数二进制有5位,但是size却是3位,它就会从低位开始到size位数作为结果,这样得到的结果是错误的。所以加一个判断传入的size是否满足要转化的值位数。还是Integer,它里面有个numberOfLeadingZeros(int i)方法,这个方法就是计算在int数值前面加0个数,使添加0之后的数(二进制)是32位。
    注:numberOfLeadingZeros(int i)这个方法的实现非常巧妙!!

    添加size判断代码
        private void decimalToBinary(int num,int size){

            if (size <(Integer.SIZE - Integer.numberOfLeadingZeros(num))) {
                throw  new RuntimeException("传入size小于num二进制位数");
            }

            StringBuilder binStr = new StringBuilder();
            for(int i = size-1;i >= 0; i--){
                binStr.append(num >>> i & 1);
            }
            System.out.println("binStr="+binStr.toString());
        }

    二、Java移位运算

    在解决这个问题的时候,碰到了Java移位运算,这里写一点简单的理解:

    前提:在不考虑 数值符号数值范围 的情况下(正数),

    可以简单地认为:左移就是乘于2的n次方,右移就是除以2的n次方,注意 int 的除法;
    x >> n  ==>  x/ 2^n  
    x << n  ==>  x* 2^n

    也可以这样认为  把 十进制数 换成二进制,左移就在二进制数的后面补0,右移就在数的前面补n个0(并划掉最后的n位),再转化成十进制数。例如 5对应二进制位 101 
    右移: 5 >> 2  ==>  101 >> 2 => 00101(前面补2个零,并划掉最后2位)=001=1 ==> 5>>2=1; 
    左移: 5 << 2 ==> 101 << 2 => 10100 = 20 ==> 5<<2 = 20)    

    展开全文
  • 将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。 输入 多组数据,每行为一个长度不超过30位的十进制非负整数。 (注意是10进制数字的个数可能有30个,而非30bits的整数) 输出 每行输出对应的...
  • 上节课我们学习了十进制转换...方法如下:将二进制数从小数点开始,往左从0开始对数值进行正序编号,往右从-1开始对数值进行编号,直到最末位。然后分别将各个位上的数乘以2的K次幂(其中k的值为各个位对应的上述编号...
  • 十进制二进制数的相互转换,可以通过移位操作和取倒每一位数操作两种方法......
  • 上节课我们学习了十进制转换...方法如下:将二进制数从小数点开始,往左从0开始对数值进行正序编号,往右从-1开始对数值进行编号,直到最末位。然后分别将各个位上的数乘以2的K次幂(其中k的值为各个位对应的上述编号...
  • 我们在学习python时候肯定会碰到关于进制转换,其实这是... bin(二进制)dec(十进制)—> oct(八进制)dec(十进制)—> hex(十六进制)二、十进制我们所熟知的十进制,其实是从 0 开始,到 9 之后,就跳到 10,...
  • 如图1所示来看看十进制转八进制,有两种方法:直接法与间接法,先看直接的方法,与十进制转二进制相同,咱们还是分整数部分转换和小数部分转换。 整数部分,除8取余法,每次将整数部分除以8...
  • python十进制转二进制python中十进制转二进制使用 bin() 函数。bin() 返回一个整数 int 或者长整数 long int 的二进制表示。下面是使用示例:>>>bin(10)'0b1010'>>> bin(20)'0b10100'补充:十进制...
  • 十进制转二进制,采用短除法 比如要将十进制的29转成二进制: 用29除以2,商写在下面,余数写在商的右边。 除到商为0为止,然后倒序排列余数,得到11101即为二进制。 二进制转十进制,采用按权相加法 比如十进制...
  • 上节课我们学习了十进制转换...方法如下:将二进制数从小数点开始,往左从0开始对数值进行正序编号,往右从-1开始对数值进行编号,直到最末位。然后分别将各个位上的数乘以2的K次幂(其中k的值为各个位对应的上述编号...
  • C语言算法之将进制数转换成二进制数

    万次阅读 多人点赞 2018-06-20 14:35:29
    导语:在C语言中没有将...下面给大家讲述一下如何编程实现将进制数转换成二进制数。 先将源代码展示给大家: #include &lt;stdio.h&gt; void main() { //进制转换函数的声明 int transfer(int x)...
  • 十进制转二进制:设 num1 为123,通过 type( ) 可以看到类型为 int使用 bin( ) 函数将 num1 转换为二进制,返回值存入 bin_num1但 num1 本身没有改变,返回的 bin_num1 是二进制表示,但 bin_num1类型是 str2....
  • 今天对十进制转二进制、十进制转十六进制,的讲解,日常生活中,我们用得最多的是十进制, 但是在C语言中我们都是使用二进制和十六进制。 二进制是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示...
  • # convert a decimal (denary, base 10) integer to a binary string ...5) # should give a ValueError 开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明python十进制转二进制,可指定位数!
  • 2.根据十进制转换二进制的思想:把这个除以2若为单数则为1,为偶数则为0,直到最后一个为1为止。所以我们要做的就是用你给定的这个除以2,如果结果为奇数则r=1,否则r=0;如此循环下去,直到这个〉=1。3.然后...
  • 十进制转二进制  假设我们要把十进制97转化成二进制!第一步把97除于2 得到48.8,无法整除,然后后面记录1! 无法整除的去到小数位,依次除于2,能整除的记录0,不能整除的记录1 最终的二进制结果为1100001 ...
  • 一、十进制转十六进制相关知识点及小练习 1.十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,...
  • Java程序二进制数与十进制数相互转换在此程序中,您...示例1:将二进制数转换为十进制的程序publicclassBinaryDecimal{publicstaticvoidmain(String[]args){longnum=110110111;intdecimal=convertBinaryToDecimal(n...
  •  首先介绍 二进制转换十进制二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:101100100,转换为10进制为:356用横式计算(从右往左算)0×20+0×21+1×22+0×23+0×24+1×25+1×26...
  • 以下代码用于实现十进制转二进制、八进制、十六进制:# -*- coding: UTF-8 -*-# Filename :test.py# author by :fghfhvngvgfgdh# 获取用户输入十进制数dec = int(input("输入数字: "))print("十进制数为",dec,":")...
  • #十进制转二进制的字符串 def b2(str1): #获得十进制转二进制的字符串 bi2=str(bin(int(str1))).replace('0b','') return bi2 str1='100' print('%s十转二为:'%str1,b2(str1)) #二...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,178
精华内容 4,871
关键字:

十进制转二进制数