精华内容
下载资源
问答
  • 例如:178.125(1)先把浮点数分别把整数部分和小数部分转换成2进制整数部分用除2取余的方法,求得:10110010小数部分用乘2取整的方法,求得:001合起来即是:10110010.001(2)转换成二进制的浮点数,即把小数点移动到...

    例如:178.125

    (1)先把浮点数分别把整数部分和小数部分转换成2进制

    整数部分用除2取余的方法,求得:10110010

    小数部分用乘2取整的方法,求得:001

    合起来即是:10110010.001

    (2)转换成二进制的浮点数,即把小数点移动到整数位只有1,即为:1.0110010001 * 2^111,111是二进制,由于左移了7位,所以是111

    把浮点数转换二进制后,这里基本已经可以得出对应3部分的值了

    (3)数符:由于浮点数是正数,故为0.(负数为1)

    阶码 : 阶码的计算公式:阶数 + 偏移量, 阶码是需要作移码运算,在转换出来的二进制数里,阶数是111(十进制为7),对于单精度的浮点数,偏移值为01111111(127)[偏移量的计算是:2^(e-1)-1, e为阶码的位数,即为8,因此偏移值是127],即:111+01111111 = 10000110

    尾数:小数点后面的数,即0110010001

    小数点前面的1去哪里了?由于尾数部分是规格化表示的,最高位总是“1”,所以这是直接隐藏掉,同时也节省了1个位出来存储小数,提高精度

    现代计算机中,一般都以IEEE 754标准存储浮点数

    对于不同长度的浮点数,阶码与小数位分配的数量不一样

    对于32位的单精度浮点数,数符分配是1位,阶码分配了8位,尾数分配了是23位。

    对于64位的单精度浮点数,数符分配是1位,阶码分配了11位,尾数分配了是52位。

    82ebde1f7217

    WHE STE.png

    一、十进制小数转二进制小数

    0.125

    用乘2取整 顺序排列 的方法,求得:0.001

    0.125 *2 = 0.25======取出整数部分0

    0.25 * 2 = 0.5======取出整数部分0

    0.5 * 2 = 1======取出整数部分1

    二、二进制小数转十进制小数

    0.001 = 1 * 2^(-3) = 0.125

    0.1101 = 1 * 2^(-1) + 1 * 2^(-2) + 1 * 2^(-4) = 0.5 + 0.25 + 0.0625 = 0.8125

    十进制小数转二进制,在计算机中如何存储?

    比如178.125

    (1)先把浮点数分别把整数部分和小数部分转换成2进制

    178 / 2 = 89 ======余数0

    89 / 2 = 44 ======余数1

    44 / 2 = 22 ======余数0

    22 / 2 = 11 ======余数0

    11 / 2 = 5 ======余数1

    5 / 2 = 2 ======余数1

    2 / 2 = 1 ======余数0

    1 / 2 = 0 ======余数1

    整数部分用除2取余 逆序排列的方法,求得:10110010

    小数部分用乘2取整的方法,求得:001

    合起来即是:10110010.001

    (2)转换成二进制的浮点数,即把小数点移动到整数位只有1,即为:1.0110010001 * 2^111,111是二进制,由于左移了7位,所以是111

    把浮点数转换二进制后,这里基本已经可以得出对应3部分的值了

    (3)数符:由于浮点数是正数,故为0.(负数为1)

    阶码 : 阶码的计算公式:阶数 + 偏移量, 阶码是需要作移码运算,在转换出来的二进制数里,阶数是111(十进制为7),对于单精度的浮点数,偏移值为01111111(127)[偏移量的计算是:2^(e-1)-1, e为阶码的位数,即为8,因此偏移值是127],即:111+01111111 = 10000110

    尾数:小数点后面的数,即0110010001

    小数点前面的1去哪里了?由于尾数部分是规格化表示的,最高位总是“1”,所以这是直接隐藏掉,同时也节省了1个位出来存储小数,提高精度

    所以在计算机中存储为 0 10000110 0110010001

    如何根据结果反推?

    10000110 - 01111111 = 111 (之前左移的现在右移7位)

    尾数加1为1.0110010001 右移7位 10110010.001 = 10110010 + 0.001 = 178 + 0.125 = 178.25

    补充:

    如果是0.15625 转化二进制为0.00101,要右移3位为1.01,所以阶数-3

    偏移量 = -3 + 127 = 124,二进制为0111 1100,

    1.01尾数为01

    所以二进制存储 0 01111100 01 后边还有21位0

    82ebde1f7217

    #HIS44.png

    展开全文
  • 十进制转二进制 十进制整数转二进制 十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。 例题: 135D = __ B 解析:如下图所示,将135除以2,得余数,直到不能整除,然后再...

    1.十进制转R进制

    1.1 十进制转二进制

    十进制整数转二进制

    十进制整数转换成二进制采用“除2倒取余”,十进制小数转换成二进制小数采用“乘2取整”。

    例题: 135D = ______ B

    **解析:**如下图所示,将135除以2,得余数,直到不能整除,然后再将余数从下至上倒取。得到结果:1000 0111B.
    这里写图片描述

    图1.十进制整数转二进制

    十进制小数转二进制

    十进制小数转换成二进制小数采用 “乘2取整,顺序排列” 法。

    具体做法是:

    用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数 部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。

    然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。

    例题: 0.68D = ______ B(精确到小数点后5位)

    **解析:**如下图所示,0.68乘以2,取整,然后再将小数乘以2,取整,直到达到题目要求精度。得到结果:0.10101B.

    在这里插入图片描述

    图2.十进制小数转二进制

    1.2 十进制转八进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 10.68D = ______ Q(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以8取余数,直到无法整除。小数部分0.68乘以8,取整,然后再将小数乘以8,取整,直到达到题目要求精度。得到结果:12.534Q.

    这里写图片描述

    图3.十进制转八进制

    1.3 十进制转十六进制

    思路和十进制转二进制一样,参考如下例题:

    例题: 25.68D = ______ H(精确到小数点后3位)

    **解析:**如下图所示,整数部分除以16取余数,直到无法整除。小数部分0.68乘以16,取整,然后再将小数乘以16,取整,直到达到题目要求精度。得到结果:19.ae1H.

    这里写图片描述

    图4.十进制转十六进制
    # 2.R进制转十进制 ## 2.1 二进制转十进制 **方法为:**把二进制数按权展开、相加即得十进制数。(具体用法如下图)

    例题: 1001 0110B = ______ D

    **解析:**如下图所示。得到结果:150D.

    这里写图片描述

    图5.二进制转十进制

    2.2 八进制转十进制

    八进制转十进制的方法和二进制转十进制一样。

    例题: 26Q = ______ D

    **解析:**如下图所示。得到结果:22D.

    这里写图片描述

    图6.八进制转十进制

    2.3 十六进制转十进制

    例题: 23daH = ______ D

    **解析:**如下图所示。得到结果:9178D.

    这里写图片描述

    图7.十六进制转十进制

    3.二进制转八进制

    二进制转换成八进制的方法是,取三合一法,即从二进制的小数点为分界点,向左(或向右)每三位取成一位。

    例题: 1010 0100B = ____Q

    **解析:**计算过程如下图所示。得到结果:244Q.

    这里写图片描述

    图8.二进制转八进制

    4.二进制转十六进制

    二进制转换成八进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位。

    例题: 1010 0100B = ____H

    **解析:**计算过程如下图所示。得到结果:a4H.

    这里写图片描述

    图9.二进制转十六进制

    5.工欲善其事,必先利其器

    下面的表格是8位二进制所对应的十进制数值,对进制转换以及类似题目的理解非常有用:

    11111111B
    1286432168421D

    注:B:二进制
           D:十进制


    例题: 135D = ______ B

    **解析:**有了上面二进制对应十进制数值的表格,我们就可以将题目给的十进制135拆分为:128+7,再从表格中找到对应的数值,拼凑即可得到答案。
    135D = 128D + 7D = 1000 0111B

    展开全文
  • 二进制如何转十进制十进制如何转二进制

    万次阅读 多人点赞 2018-04-06 17:57:29
    学计算机的朋友刚开始学习时都要接触进制之间的转换,二进制十进制、八进制、十六进制等,这个是很枯燥的,去就蒙圈了,别蒙别蒙,今天咱们一个一个搞定,看看二进制十进制之间如何相互转换的。...

           学计算机的朋友刚开始学习时都要接触进制之间的转换,二进制、十进制、八进制、十六进制等,这个是很枯燥的,转来转去就转蒙圈了,别蒙别蒙,今天咱们一个一个搞定,看看二进制和十进制之间如何相互转换的。

            转成二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制;

    1、  正整数转成二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位补零。

            也就是说,将正的十进制数除以二,得到的商再除以二,依次类推知道商为零或一时为止,然后在旁边标出各步的余数,最后倒着写出来,高位补零就OK咧。哎呀,还是举例说明吧,比如42转换为二进制,如图1所示操作。

                                    

          42除以2得到的余数分别为010101,然后咱们倒着排一下,42所对应二进制就是101010.如图2所示更直观的表达

                                   

           计算机内部表示数的字节单位是定长的,如8位,16位,或32位。所以,位数不够时,高位补零,所说,如图3所示,42转换成二进制以后就是。00101010,也即规范的写法为(42)10=(00101010)2.赶紧记住吧

                                  

    2、  负整数转换成二进制

            方法:先是将对应的正整数转换成二进制后,对二进制取反,然后对结果再加一。还以42为例,负整数就是-42,如图4所示为方法解释。最后即为:(-42)10=(11010110)2.

                                        

    3、  小数转换为二进制的方法:对小数点以后的数乘以2,有一个结果吧,取结果的整数部分(不是1就是0喽),然后再用小数部分再乘以2,再取结果的整数部分……以此类推,直到小数部分为0或者位数已经够了就OK了。然后把取的整数部分按先后次序排列就OK了,就构成了二进制小数部分的序列,举个例子吧,比如0.125,如图5所示。

                                  

              如果小数的整数部分有大于0的整数时该如何转换呢?如以上整数转换成二进制,小数转换成二进制,然后加在一起就OK了,如图6所示。

                                 

    4、  整数二进制转换为十进制:首先将二进制数补齐位数,首位如果是0就代表是正整数,如果首位是1则代表是负整数。

            先看首位是0的正整数,补齐位数以后,将二进制中的位数分别将下边对应的值相乘,然后相加得到的就为十进制,比如1010转换为十进制,方法如图7所示。

                                 

    5、若二进制补足位数后首位为1时,就需要先减1,再取反再换算:例如,11101011,首位为1,那么就先减1,:11101010,再取反:0001 0101,然后算一下10101对应的十进制为21,所以对应的十进制为-21,方法如图8所示。

                                         

    6、将有小数的二进制转换为十进制时:例如0.1101转换为十进制的方法:将二进制中的四位数分别于下边(如图9所示)对应的值相乘后相加得到的值即为换算后的十进制。

                               

    本文主要参考百度搜索

    https://jingyan.baidu.com/article/597a0643614568312b5243c0.html


    展开全文
  • 十进制:由 0~9 十个数字组成二进制:由 0和1 两个数字组成1、整数转换十进制转二进制的原理:十进制的数除以2,直到商为0,最后反向取余数。比如下图中的例子,十进制的13转为二进制表示,则为1101。二...

    计算机在部分区域里可以看成数学计算,也是毫无违和感的,关于进制的转换就是其中之一,这次给大家带来关于小数位的进制转换。

    1603789719271096.jpg

    简介:

    位运算在计算机编程中经常用到,所以掌握十进制和二进制间的转换十分重要。

    十进制:由 0~9 十个数字组成

    二进制:由 0和1 两个数字组成

    1、整数转换

    十进制转二进制的原理:十进制的数除以2,直到商为0,最后反向取余数。

    比如下图中的例子,十进制的13转为二进制表示,则为1101。

    1603789571360030.png

    二进制转十进制的原理:二进制数的每一位乘以2的n次方,n 从零开始,每次加一,最后累加。

    下面是将二进制的1101转为十进制的13。

    1603789581152878.png

    2、小数转换

    对于小数,二进制 转 十进制 比较简单,仍是二进制数的每一位乘以2的n次方,小数点前面的 n 从零开始,每次加一;小数点后面的 n 从-1开始,每次减一,最后累加。

    1603789593348337.png

    十进制 转 二进制 相对麻烦些,用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为0,整数部分为1,此时1为二进制的最后一位。

    下图是将十进制的0.625转换为二进制表示的0.101。

    1603789606362415.png

    不过,不是所有的十进制小数都恰好能用二进制精确表示。比如十进制的0.3转化为用二进制表示,如下图所示。若用小数点后六位来表示,则只能近似为0.296875。

    从上面的例子可以看出,二进制小数点后面的位数越多,则能表示的小数点后面的有效数字越多。

    大家也可以自己实际操作试试看小数为位的进制转换,如需更多python实用知识,点击进入PyThon学习网教学中心。

    展开全文
  • 将float类型的十进制数转换成二进制小数点保留四位) ** package App_suanfa; import java.util.Scanner; public class TenToTwo { public static void main(String[] args) { float num = 0; int...
  • 学计算机的朋友刚开始学习时都要接触进制之间的转换,二进制十进制、八进制、十六进制等,这个是很枯燥的,去就蒙圈了,别蒙别蒙,今天咱们一个一个搞定,看看二进制十进制之间如何相互转换的。...
  • 中文名十进制转二进制外文名Decimal system to binary system适用领域电子、编程、编码应用学科数学十进制转二进制二进制转十进制编辑语音十进制转二进制方法一小数点前或者整数要从右到左用二进制的每个数去乘以2的...
  • 这篇文章主要介绍了Python实现的十进制小数与二进制小数相互转换功能,结合具体实例形式详细分析了二进制十进制相互转换的原理及Python相关实现技巧,需要的朋友可以参考下本文实例讲述了Python实现的十进制小数与...
  • 十进制整数转二进制 输入整数以补码形式显示 例如: input: 10 outout: 1010 正整数的补码为其原码,负数的补码为其模减去该负数的绝对值(模运算) 例如: input: -9 outout: s(1)1110111 //其中s(1)为符号位 ...
  • 本文介绍了python十进制和二进制的转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时上代码#-*- coding: utf-8from decimal import ...
  • 十进制二进制相互转换(包括带小数点.各类进制转换公式)
  • 二进制小数 十进制方法

    万次阅读 多人点赞 2019-04-09 19:32:43
    知识点一:一个数的负次方即为这个数的正次方的倒数。 方法一、转换分数法 参考文章:https://jingyan.baidu.com/article/597a0643614568312b5243c0.html ... 举例:将 二进制0.1111转换成 十进制二进制...
  • 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 #-*- coding: utf-8 from decimal import Decimal def bTod(n, pre=4): ''' 把一个带小数的二进制数n转换成十进制 小数点后面保留pre位...
  • 1、计算机的数制介绍 数制:计数的方法,指用一组固定的符号和统一的规则来表示数值的方法 数位:指数字符号在一个数中所处的位置 基数:指在某种进位计数制中,数位上所能使用...4.1、正整数的十进制转换二进制...
  • 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 #-*- coding: utf-8 from decimal import Decimal def bTod(n, pre=4): ''' 把一个带小数的二进制数n转换成十进制 小数点后面保留pre位...
  • 十进制:由 0~9 十个数字组成二进制:由 0和1 两个数字组成1、整数转换十进制转二进制的原理:十进制的数除以2,直到商为0,最后反向取余数。比如下图中的例子,十进制的13转为二进制表示,则为1101。十进制转二进制...
  • 实现带小数的二进制数到十进制数的转换。二进制字符序列以字符‘#’结尾, 如 “1011.101#”。 将二进制数“1011.101”转换为十进制数。 二进制字符序列中只可能存在‘0’、‘1’、‘.’、‘#’ 4种字符,不会出现...
  • c#二进制,八进制,十进制相互转换详解,模拟的小程序,感兴趣的可以下载看看,恰恰饭,暂时不支持小数点
  • python十进制转二进制python中十进制转二进制使用 bin() 函数。bin() 返回一个整数 int 或者长整数 long int 的二进制表示。下面是使用示例:>>>bin(10)'0b1010'>>> bin(20)'0b10100'补充:十进制转8进制和16进制的...
  • 二进制十进制数字转换使用加权列来标识数字的顺序以确定数字的最终值将二进制转换为十进制(base-2到base-10) )数字和背面是一个重要的概念,因为二进制编号系统构成了所有计算机和数字系统的基础。十进制或...
  • 二进制主要有以下几种:正整数转二进制,负整数转二进制,小数转二进制; 1、 正整数二进制。要点一定一定要记住哈:除二取余,然后倒序排列,高位补零。  也就是说,将正的十进制数除以二,得到的商再...
  • 十进制 0-1-2-3-4-5-6-7-8-9例如: 365.32(十进制) 小数点左等于  3*10^2+6*10^1+5*10^0 右边等于  3*10^-1 + 2*10^-2 综合结果=  3*10^2+6*10^1+5*10^0+3*10^-1 + 2*10^-2 10在十进制中叫做10进制的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,857
精华内容 17,142
关键字:

二进制小数点转十进制