一、正整数的十进制转换二进制:

要点:除二取余,倒序排列

解释:将一个十进制数除以二,得到的商再除以二,依此类推直到商等

于一或零时为止,倒取将除得的余数,即换算为二进制数的结果

例如把52换算成二进制数,计算结果如图:

52除以2得到的余数依次为:0、0、1、0、1、1,倒序排列,所以52对应的二进制数就是110100。

由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。

于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。本文都以8位为例。那么:

(52)10=(00110100)2

二、负整数转换为二进制

要点:取反加一

解释:将该负整数对应的正整数先转换成二进制,然后对其“取补”,

再对取补后的结果加1即可

例如要把-52换算成二进制:

1.先取得52的二进制:00110100

2.对所得到的二进制数取反:11001011

3.将取反后的数值加一即可:11001100

即:(-52)10=(11001100)2

三、小数转换为二进制

要点:乘二取整,正序排列

解释:对被转换的小数乘以2,取其整数部分(0或1)作为二进制小数部分,取其小数部分,再乘以2

,又取其整数部分作为二进制小数部分,然后取小数部分,再乘以2,直到小数部分为0

或者已经去到了足够位数。每次取的整数部分,按先后次序排列,就构成了二进制小数的序列

例如把0.2转换为二进制,转换过程如图:

0.2乘以2,取整后小数部分再乘以2,运算4次后得到的整数部分依次为0、0、1、1,结果又变成了0.2,

若果0.2再乘以2后会循环刚开始的4次运算,所以0.2转换二进制后将是0011的循环,

即: (0.2)10=(0.0011 0011 0011 .....)2

循环的书写方法为在循环序列的第一位和最后一位分别加一个点标注

四、二进制转换为十进制:

整数二进制用数值乘以2的幂次依次相加,小数二进制用数值乘以2 的负幂次然后依次相加!

比如将二进制110转换为十进制:

首先补齐位数,00000110,首位为0,则为正整数,那么将二进制中

的三位数分别于下边对应的值相乘后相加得到的值为换算为十进制的结果

如果二进制数补足位数之后首位为1,那么其对应的整数为负,那么需要先取反然后再换算比如11111001,首位为1

,那么需要先对其取反,即:-00000110 00000110,对应的十进制为6,因此11111001对应的十进制即为-6

转载于:https://www.cnblogs.com/azrx/p/6731293.html

进制转换之二进制与十进制转换相关推荐

  1. Python进制相互转换(二进制、十进制和十六进制)的代码

    如下的内容内容是关于Python进制相互转换(二进制.十进制和十六进制)的内容,希望对各位朋友有用. #!/usr/bin/env python 2/10/16 base trans. wrote b ...

  2. C++进制转换程序(二进制转换为十进制,十进制转换为二进制)

    1.十进制转换为二进制 #include<iostream> using namespace std; int main(){ int N;     cout<<"p ...

  3. C++ 进制转换器:二进制、十进制、十六进制

    做了一个C++进制转换器,支持10转2.10转16.2转10.16转10.10转2.2转16,解析都写在代码里哦! #include <bits/stdc++.h> using names ...

  4. 计算机进制算法在线,二进制转十进制和十六进制在线计算器

    (1) 十进制转换为二进制,分为整数部分和小数部分 ① 整数部分 方法:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为 ...

  5. 【机试备考】Day16-二进制数字翻转 | 二进制和十进制的相互转化

    题目 BUPT 2018 计算机 ProblemA 输入数据组数t,每组数据输入一个十进制数x(0<x<2^32),将其二进制位反转(共32位),然后输出对应的十进制数 提示 2^32-1 ...

  6. C++控制不同进制输出(二进制,八进制,十进制,十六进制)各种进制之间的转换

    目录 1.输出(头文件讲解) 2.格式控制 常用的I/O流控制符 4.各种进制之间的转换(进制大乱斗) 4.1.写在前面 4.2整体框架搭建 4.3菜单函数 4.4用户输入选择(main函数体中) 4 ...

  7. 【进制转换】二进制,十进制,八进制,16进制

    1.二进制与十进制相互转换 二进制转为十进制 0000 0110转换为10进制: (二进制里面没有"个位.十位.百位",只能通过从左到右或者从右到左第几位来描述), 从右往左开始, ...

  8. c语言中十进制与十六进制转换_小猿圈分享-java-十进制、八进制、十六进制数互相转换...

    给大家分享一个可以节约我们时间的小程序,十进制.八进制.十六进制的互相转换,记得收藏哦. public class JZTurn { public static void main(String[] ...

  9. 2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换

    为什么要使用进制数 数据在计算机中的表示,最终以二进制的形式存在 , 就是各种 <黑客帝国>电影中那些 0101010- 的数字 ; 我们操作计算机 , 实际 就是 使用 程序 和 软件 ...

最新文章

  1. Discuz!常用函数解析(续)
  2. Visual Studio 2019更新到16.1.4
  3. halcon知识:【2】二维码原理
  4. 【Scratch】青少年蓝桥杯_每日一题_1.25_投球
  5. ubuntu 命令行下查看网页 w3m
  6. 谨慎使用JUnit的预期异常
  7. springcloud mysql库集群_SpringCloud实现分库分表模式下,数据库实时扩容方案
  8. Linux和windows网络配置
  9. centos samba 看不到共享目录_linux入门系列--文件共享之Samba和NFS
  10. python consulate_使用python测测你的系统最多能创建多少个线程 | 学步园
  11. MySQL之可视化软件
  12. Maven镜像仓库配置地址
  13. IDEA的界面布局折腾(Main Menu主菜单栏消失的问题)
  14. MM-DD-RRRR / MM-DD-YYYY 的区别【Blog 搬家】
  15. 快递鸟基于java功能打印电子面单api接口
  16. 程序史记:从巴贝奇、爱达到图灵
  17. perl 模块使用范例
  18. Doris FE启动流程源码详细解析
  19. 互联网+废品回收项目详细设计说明书
  20. ApplePay应用内购(inapp)支付流程图

热门文章

  1. 功能点算法及在软件测试中的应用Part3
  2. Mysql之mysql工具
  3. 博弈论——序论(读书笔记)
  4. mysql 关闭一个实例_mysql 多实例关闭、启动、查看状态
  5. 织梦Dede如何删除管理员admin
  6. LumaQQ在Linux下的安装和卸载
  7. stm32第一章cortex-M3处理器概述
  8. 获取随机数字且不重复
  9. php 支付宝 当面付(个人账号免签约)
  10. 申请支付宝当面付应用