精华内容
下载资源
问答
  • 二进制十进制相互转换

    千次阅读 2018-03-07 21:43:21
    若有小数,将整数部分和小数部分分开计算,小数部分连续乘以2,每次都取前次的小数部分,记下每次积的整数部分(1或0),然后顺序排列,添上整数部分可得到二进制数如:1、十进制数28转换为二进制即:十进制数28转换...

    十进制转换成二进制

    方法:

    判断十进制数字是否有小数部分,若没有,只需将整数部分连续除以2,记下过程中的余数,只到商为0,然后将余数倒序排列即可得到二进制数值;若有小数,将整数部分和小数部分分开计算,小数部分连续乘以2,每次都取前次的小数部分,记下每次积的整数部分(1或0),然后顺序排列,添上整数部分可得到二进制数

    如:

    1、十进制数28转换为二进制


    即:十进制数28转换为二进制是11100

    2、十进制数28.45转换为二进制


    即:十进制数28.45转换二进制是11100.0111

    可表示为:(28.45)10 = (11100.0111)2

    二进制转换成十进制

    方法:

    将二进制每一位上的0或1乘以2的所在位数的次方,整数部分的指数为正,小数部分的指数为负.

    如:

    1、将二进制数11100转换成十进制


    即:二进制11100转换为十进制是28

    2、将二进制11100.0111转换成十进制


    即:二进制数11100.0111转换成十进制数是28.4375


    展开全文
  • 十进制小数分数与二进制转换

    万次阅读 多人点赞 2017-01-13 19:37:26
    例如将十进制分数11/28转换二进制数,过程如下: 1、首先将分子分母分别转换成二进制 (11)10=(1011)2 (28)10=(11100)2 2、使用短除,借位时是借2,商只能是0或1 所以:11/28=1011/11100=0.01100100.....

     

    十进制分数转换为二进制数
    使用短除法。

    例如将十进制分数11/28转换为二进制数,过程如下:
    1、首先将分子分母分别转换成二进制 
    (11)10=(1011)2 
    (28)10=(11100)2 


    2、使用短除,借位时是借2,商只能是0或1 

     
         所以:11/28=1011/11100=0.01100100...


    十进制小数转换为二进制小数

    十进制数的整数位是二进制数的整数位,十进制数的小数位是二进制数的小数位。两部分分开转换。

    整数部分 除以2取余,逆序排列。
    小数部分 乘 2 取整,顺序排列。

    例如转换十进制小数11.4,过程如下。

    计算整数部分,11转换为二进制位1011:



    计算小数部分0.4,首先将小数部分一直乘2,积的整数部分顺序取出:
    0.4*2=0.8      取0      |                               
    0.8*2=1.6      取1      |  顺
    0.6*2=1.2      取1      |  序
    0.2*2=0.4      取0      |  排
    0.4*2=0.8      取0      |  列
    0.8*2=1.6      取1      |
    0.6*2=1.2      取1      |
    0.2*2=0.4      取0      |

    可以看出0110是循环,因此小数部分的二进制是
    0.01100110……(循环0110)

    最终结果是整数位和小数位合并1101111.01100110……(2)
     

    二进制小数转换为十进制小数
    使用按权展开求和法,小数点左边是2的正数次方,从0开始;小数点右边是2的负数次方,从-1开始。 

    例如将101.111(2)转换成十进制数

                    1*(2^2)+0*(2^1)+1*(2^0)       # 整数部分

      + 1*(2^(-1))+1*(2^(-2))+1*(2^(-3))       # 小数部分

                                                  =5.875
     

    附 python 版十进制与二进制转换

     

    # coding=UTF-8
    from decimal import Decimal
    
    
    def dec2bin(n, bit=20):
        """
        n, integer or float to convert
        bit, bits after point
        return binary, string
        """
        negative = False
        if n < 0:
            negative = True
            n *= -1
    
        integer = int(n)
        decimal = n - integer
        binary = ""
    
        if n == 0:
            return "0"
    
        while integer != 0:
            result = int(integer % 2)
            integer /= 2
            binary = str(result) + binary
    
        if decimal != 0:
            i = 0
            decimal_bin = ""  # binary decimal after convert
            while decimal != 0 and i < bit:
                result = int(decimal * 2)
                decimal = decimal * 2 - result
                decimal_bin += str(result)
                i += 1
            binary = binary + '.' + decimal_bin
    
        if negative:
            binary = '-' + binary
    
        return binary
    
    def bin2dec(n):
        """
        n binary, support point
        return integer or float
        """
        negative = False
        if n < 0:
            negative = True
            n *= -1
    
        integer = int(n)
        decimal = n - integer
    
        if integer != 0:
            integer_str = str(integer)
            length = len(integer_str)
    
            integer = 0
            for i in xrange(0, length):
                bit = int(integer_str[i])
                if bit == 1:
                    integer += 2 ** (length - i - 1)
                elif bit != 0:
                    print "invalid integer:" + str(n)
    
        if decimal != 0:
            decimal_str = str(decimal)[2:] # skip "0."
            length = len(decimal_str)
    
            decimal = 0
            for i in xrange(0, length):
                bit = int(decimal_str[i])
                if bit == 1:
                    decimal += 2 ** (-1 * (i + 1))
                elif bit != 0:
                    print "invalid decimal:" + str(n)
    
        result = integer + decimal
    
        if negative:
            result *= -1
    
        return result
    
    
    def testcases():
        for pair in [(125, '1111101'),
                     (1.3, '1.01001100110011001100'),
                     (2.5, '10.1'),
                     (0, '0'),
                     (-1, '-1'),
                     (0.5, '.1')]:
            assert pair[1] == dec2bin(pair[0])
    
        for pair in [(-1001.1100, -9.75),
                     (-1101, -13),
                     (111.111, 7.875),
                     (0.1101, 0.8125),
                     (1001, 9),
                     (0, 0),
                     (0.1, 0.5)]:
            assert pair[1] == bin2dec(pair[0])
    
        print "all test case success"
    
    
    if __name__ == "__main__":
        # testcases()
        print bin2dec(0.5)
    

     

     

     

    参考:

     

     

     

    http://blog.csdn.net/caoguo_app_android/article/details/9955743

     

     

    展开全文
  • 十进制分数转换为二进制数...例如将十进制分数11/28转换二进制数,过程如下: 1、首先将分子分母分别转换成二进制 (11)10=(1011)2 (28)10=(11100)2 2、使用短除,借位时是借2,商只能是0或1 ...

    原文链接:https://blog.csdn.net/shelldon/article/details/54411472

     

    十进制分数转换为二进制数
    使用短除法。

    例如将十进制分数11/28转换为二进制数,过程如下:

    1、首先将分子分母分别转换成二进制 
    (11)10=(1011)2 
    (28)10=(11100)2 

    2、使用短除,借位时是借2,商只能是0或1 
                0.0110010 
            ———————— 
     11100 ) 1011.00 
              111 00 
             ————————— 
              100 000 
               11 100 
             ————————— 
              100 000 
               11 100 
             ————————— 
                  100 
                  ... 
         所以:11/28=1011/11100=0.01100100...



    十进制小数转换为二进制小数

    十进制数的整数位是二进制数的整数位,十进制数的小数位是二进制数的小数位。两部分分开转换。

    整数部分 除以2取余,逆序排列。
    小数部分 乘 2 取整,顺序排列。

    例如转换十进制小数11.4,过程如下。

    计算整数部分,11转换为二进制位1011:

                   余 数
      +                ^
    2 |     1 1     1  | 逆
      +-+------+       | 序
      2 |     5     1  | 写
        +-+----+       | 出
        2 |   2     0  |
          +-+--+       |
          2 | 1     1  |
            +--+       +
              0



    计算小数部分0.4,首先将小数部分一直乘2,积的整数部分顺序取出:

    0.4*2=0.8      取0      |                               
    0.8*2=1.6      取1      |  顺
    0.6*2=1.2      取1      |  序
    0.2*2=0.4      取0      |  排
    0.4*2=0.8      取0      |  列
    0.8*2=1.6      取1      |
    0.6*2=1.2      取1      |
    0.2*2=0.4      取0      |

    可以看出0110是循环,因此小数部分的二进制是

    0.01100110……(循环0110)

    最终结果是整数位和小数位合并1101111.01100110……(2)
     
    二进制小数转换为十进制小数
    使用按权展开求和法,小数点左边是2的正数次方,从0开始;小数点右边是2的负数次方,从-1开始。 

    例如将101.111(2)转换成十进制数

                    1*(2^2)+0*(2^1)+1*(2^0)       # 整数部分
      + 1*(2^(-1))+1*(2^(-2))+1*(2^(-3))       # 小数部分

                                                  =5.875

    转载于:https://www.cnblogs.com/qy-blogs/p/9196814.html

    展开全文
  • 十进制数字用A~Z表示成二十六进制

    千次阅读 2018-03-08 15:48:09
    十进制数字用A~Z表示成二十六进制(剑指Offer附加题及扩展) 题目:在Excel2003中,用A表示第一列,B表示第二列...Z表示第26列,AA表示第27列,AB表示第28列...依次列推。请写出一个函数,输入用字母表示的列号编码...

    十进制数字用A~Z表示成二十六进制(剑指Offer附加题及扩展)


    题目:在Excel2003中,用A表示第一列,B表示第二列...Z表示第26列,AA表示第27列,AB表示第28列...依次列推。请写出一个函数,输入用字母表示的列号编码,输出它是第几列。

    思路:
    这道题实际上考察的是把二十六进制表示成十进制数字,将输入的字符串先转换成字符数组,遍历数组中的每一个字符,用这个字符减去A再加1就是该位对应的十进制数,然后乘以26的相应次方,最后把这些数加起来就是结果了。
    可能很多人会有疑惑为什么要加1,因为十进制是用09表示,那么二十六进制就应该用025表示,但是这里是AZ,就相当于126,所以我们把算出来的数需要加1。

    写代码之前,先补充一下ASCII码几个基本知识点:

    0:48
    A:65
    a:97

    规律:

    • 数字在前,大写字母其后,最后是小写字母。
    • 小写字母和大写字母差32。

    上边给出了字符'0'、'A'、'a'相对应的整型数,其余的字符按照顺序都可以算出来。

    public class ExcelEncode {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (sc.hasNext()) {
                String str = sc.next();
                int res = erShiliuToDecimal(str);
                System.out.println(res);
            }
        }
    
        private static int erShiliuToDecimal(String str) {
            char[] strArr = str.toCharArray();
            int exp = 0; //指数
            int num = 0;
            for (int i = strArr.length - 1; i >= 0; i--) {
                num += (strArr[i] - 'A' + 1) * Math.pow(26, exp);
                exp++;
            }
            return num;
        }
    }
    

    我比较喜欢一句话,说:“没有思考的学习说到底就是一场作秀”,那么上边那道题反过来呢,可以实现吗?先看题目:在Excel2003中,用第一列用A表示,第二列用B表示...第26列用Z表示,第27列用AA表示,第28列用AB表示...依次列推。请写出一个函数,输入一个数表示第几列,输出用字母表示的列号编码。

    思路:
    这道题思路和上道题完全相反,考察的是把十进制进制数字表示成二十六进制,和上边的题目思路相反,用输入的数字cols模26得到temp,temp即为二十六进制数字的最后一位,用temp + 'A' - 1即可得到所对应的A~Z中的字母;接着用输入的数字cols除以26,用这个结果继续寻找倒数第二位所对应的字符,直到cols为0。
    但是,temp=0的时候比较特殊,比如输入的数字cols=26,cols%26=0,本来应该输出Z,结果输出的是@,所以把temp=0的情况单独拿出来判断一下,当temp=0时,temp=26,然后将cols-1,这是输入26将会得到正确答案Z。
    最后要记得,刚才输出的结果都是从最后一位开始的,利用StringBuilder的reverse()方法将刚才得到的结果反转,返回就OK了。

    public class ExcelEncode {
        
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            while (sc.hasNext()) {
                int cols = sc.nextInt();
                String res = DecimalToErShiliu(cols);
                System.out.println(res);
            }
        }
    
        private static String DecimalToErShiliu(int cols) {
            StringBuilder builder = new StringBuilder();
            while (cols != 0) {
                int temp = cols % 26;
                cols = cols / 26;
                if (temp == 0) {
                    temp = 26;
                    cols = cols - 1;
                }
                builder.append((char) ('A' + temp - 1));
            }
            return builder.reverse().toString();
        }
    }
    

    如果觉得对您有用,请随意

    展开全文
  • double float进制转换

    2018-01-23 20:59:01
    例如将十进制分数11/28转换二进制数,过程如下: 1、首先将分子分母分别转换成二进制  (11)10=(1011)2  (28)10=(11100)2  2、使用短除,借位时是借2,商只能是0或1   0.0110010   ...
  • ①其他数制转十进制: 方法:按权展开相加法 ...②十进制转换成其他进制: 整数部分转换除基数倒取余 小数部分转换 乘基数正取整 ③二进制转八进制: 对应关系 1.每三位二进制数对应...
  • /** * 在Excel中,用A表示第一列,B表示第列...Z表示第26列,AA表示第27列,AB表示第28列...依次列推。 * 请写出一个函数,输入用字母表示的列号编码,... * 用这个字符减去A再加1就是该位对应的十进制数,然后...
  • 二进制移位想到的

    2011-04-28 22:38:00
    写字符转换成数值程序时想到的,对二进制数来说,左移是乘2,右移是除以2.推而广之,对十进制数来说乘以10是左移一位,对十六进制数来说乘以16是左移一位。同样对于右移。(算数移位) 转载于:...
  • 进制小数

    2018-02-09 11:26:15
    ”你一定会问,这很明白,就是以三为基(二进制数以2为基,而十进制数则以10为基)的小数。 输入 有理数的值都是在0与1之间的,每个有理数都由一个分子和一个分母表示,分子与分母之间隔着一个斜杠。有理数的个数不
  • 名大学双语学生分别接受了阿拉伯语L1(第一语言)和希伯来语L2(第语言)两项任务:一项任务涉及将两位数字写听写,另一项任务涉及大声朗读两位。 根据错误的类型,两种语言均会计算出读取时间和错误率,...
  • BCD码

    2016-05-03 21:09:29
    BCD码,就是二进制十进制转换码。在计算机中都是2进制来...BCD码就是把10进制数的每1位都用4位的二进制表示,如:28的BCD码是0010 1000,由于转换的时候只要计算0~9之间转换,因此非常的方便,口算就可以算出来了
  • 假如电信给了我们这段地址61.168.1.32/28,我们可用的IP地址是多少呢? IP地址由32位二进制组成,32位二进制分成了4...如255.255.255.128转换成二进制结果如下(具体转换方法后面介绍,也可以用在线转换工具转换ht...
  • python中的字符编码格式及相互转换

    千次阅读 2018-06-09 11:22:41
    最早的计算机在设计时采用8比特(bit)为一个字节(byte),所以一个字节(8位)能表示的最大整数是255(二进制11111111等于十进制255,简单表示为28−1=25528−1=2552^8-1=255)如果要表示更大的整数,就必须用更多...
  • c#基础

    2021-03-15 10:41:53
    一 进制 十进制中10,用其他进制的表示方法 十 进 制: 直接写 — 10 ...连除倒取余: 十进制的 57,转换成二进制 111001 2| 57 2| 28 1 ↑ 2 |14 0 ↑ 2| 7 0 ↑ 2| 3 1 ↑ 2| 1 1 ↑ 0 1 ↑ 按权求和
  • 黑马入学考试试题

    2016-04-12 21:45:03
    提示:十进制数二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的...
  • c 将整数转换成二进制数并存放到数组中 c 结构体问题 c 使用winsock实现server和client(通讯程序) c 随机数发生器 c 图形模式详解 c 网页爬虫 c 写图形界面 c 遗传算法实例 c 在图形界面输出文字 c# List的用法 VS...
  • 2.6.8 DECIMAL——将给定基数的文本转换十进制数 116 第3章 日期和时间函数 117 3.1 了解Excel日期系统 118 3.1.1 Excel提供的两种日期系统 118 3.1.2 了解日期和时间序列号 119 3.1.3 输入与设置日期和时间 ...
  • 2-85 用T'触发器构成的异步二进制减法计数器 2-86 异步10进制加法计数器 2-87 二-五-十进制异步计数器74LS290 2-88 用置零法将74LS160接6进制计数器 2-89 2-88电路的改进 2-90 用置法将74LS160接6进制计数器...
  •  实例151 如何将B转换成GB、MB和KB 196  实例152 0~N位数的任意组合 197  实例153 在数组中快速查找近似值 199  实例154 猴子选大王算法的实现 200  实例155 使用MD5算法对密码进行加密 201 实例156 恺撒...
  • Q01 回文十进制数 003 Q02 数列的四则运算 007 Q03 翻牌 011 Q04 切分木棒 015 Q05 还在用现金支付吗 019 Q06 (改版)考拉兹猜想 023 Q07 日期的二进制转换 025 Q08 优秀的扫地机器人 029 Q09 ...
  • EXCEL函数功能整理版

    2010-05-30 15:56:24
    26 BIN2DEC 这个函数将二进制数转换十进制数。负数用二进制数补码表示 27 CHAR 返回对应于数字代码的字符。函数 CHAR 可将其他类型计算机文件中的代码转换为字符。 28 CLEAN 删除文本中不能打印的...
  • 6.2.5 binarywrite方法输出二进制图像 151 6.3 程序请求对象:request 152 6.3.1 request对象概述 152 6.3.2 request对象常用属性和方法 152 6.3.3 获取客户端浏览器信息 153 6.3.4 站内搜索引擎 ...
  • 二进制中1的个数 测试10 第一题 数值的整数次方 测试11 第二题 打印1到最大的n位数 测试12 第三题 O(1)时间删除链表节点 测试13 第四题 使数组中的奇数位于偶数前面 测试14 第五题 找链表中倒数...
  • 5.将十进制十六进制 8 6.求两个字符串中相同的汉字及字母的个数 10 7.生成n位随机字符串 11 8.取出字符串中的汉字、字母或是数字 14 9.根据字符分割字符串的三种写法 16 10.将数字转换千分位分隔形式 18 11.取...
  • 6.2.5 binarywrite方法输出二进制图像 151 6.3 程序请求对象:request 152 6.3.1 request对象概述 152 6.3.2 request对象常用属性和方法 152 6.3.3 获取客户端浏览器信息 153 6.3.4 站内搜索引擎 ...
  • modbus通信协议

    热门讨论 2010-08-06 15:26:22
    • 8位二进制,十六进制数0...9,A...F • 消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 • 1个起始位 • 8个数据位,最小的有效位先发送 • 1个奇偶校验位,无校验则无 • 1个停止位(有校验...
  • # 十六进制数(等于十进制数的18) $a = 1.234; # 浮点数"双精度数" $a = 1.2e3; # 双精度数的指数形式 字符串 字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出的字符串是以字面定义的,而双...
  •  2.2 求出子网数目对应二进制数的位数N及主机数目对应二进制数的位数M。  2.3 对该IP地址的原子网掩码,将其主机地址部分的前N位置 1或后M位置0 即得出该IP地址划分子网后的子网掩码。  例如,对B类网络135.41....
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0112 如何将二进制转换十进制 75 0113 如何将二进制转换为十六进制 76 0114 如何将十进制转换二进制 77 0115 如何将十进制转换为十六进制 78 0116 如何将十六进制转换十进制 79 4.5 类型转换函数 ...

空空如也

空空如也

1 2 3 4 5
收藏数 88
精华内容 35
关键字:

十进制数28转换成二进制数是