进制和进制转换

一、进制的基础

1、十进制(案例)

系数:0-9

进位规则:逢十进一

权:基数的次幂

基数:几进制基数就是几

规律:右侧第一位的权是10的0次幂,每向左移动一位次幂会+1.

进制的表示:

①下角标:写具体进制数

②后缀:B(二进制)、D(十进制)、H(十六进制)、O(八进制)

2、二进制(机器语言0、1)(下角标2、后缀B)

系数:0、1

进位规则:逢二进一

111B=7D    1111B=15D

权:2的次幂

规律:右侧第一位的权是2的0次幂,每向左移动一位次幂会+1.

二进制(任意进制)--->十进制

方法:按权展开求和法

方法说明:每位的系数乘以权得到乘积,然后将乘积相加求和。

例如:

提示:十进制是默认。(如果数没有任何表示,默认十进制)

二进制的表示:①:下角标2、②后缀B

二进制的缺点:二进制的位数太多,表示起来太过繁琐。

3、十六进制(下角标16;后缀H)

说明:为了解决二进制位数过多,表示繁琐的缺点,计算机中引入了十六进制(应用多)和八进制。

系数:0-9、10=A、11=B、12=C、13=D、14=E、15=F

进位规则:逢16进1

权:16的次幂

规律:右侧第一位的权是16的0次幂,每向左移动一位次幂会+1.

4、八进制(下角标8;后缀O)

系数:0-7、进位规则:逢8进1

权:8的次幂

规律:右侧第一位的权是8的0次幂,每向左移动一位次幂会+1.

二、进制之间的转换

1、任意进制转换为十进制

方法:按权展开求和法

2、十进制转换为任意进制

方法:除基取余逆读法

方法说明:(1)用十进制除以基数(要转成几进制基数就是几)得到商和余数(2)继续用商除以基数,直到商为0为止。(3)倒序读取余数作为结果。

例如:56的二进制

3、以二进制为中心

1)二进制<------->十六进制

说明:每4位二进制可以表示1位十六进制(0000-1111,0-15是十六进制的系数范围)

①二进制-------->十六进制

方法:4和1(4位二进制合成1位十六进制)

方法说明:先从右向前每4位分成1组(最左侧可以补0);接下来计算每组对应的十六进制结果;最后将结果按顺序读出即可

②十六进制------>二进制

方法:1分4(1位十六进制拆分成4位二进制)

2)二进制------>八进制

说明:每3位二进制可以表示1位八进制(000-111,0-7是八进制的系数范围)3:1

①二进制---->八进制

方法:每3位为1组,计算对应的八进制结果(从后向前分组)

②八进制------>二进制

方法:1分3(1位八进制拆分成3位二进制)

问题:如何实现八进制与十六进制之间的相互转换。

可以在八进制与十六进制中间引入二进制(或十进制)作为桥梁,实现转换。

任意进制转换成十进制:按权展开求和法

例如:八进制---->二进制---->十六进制

十六进制---->二进制---->八进制

进制与进制转换DAY2的更多相关文章

  1. Java 整数型的进制间的互相转换

    /** * 整数型, 进制间的互相转换 */ public class IntConversion { public static void main(String[] args) { int num ...

  2. JavaScript中的多种进制与进制转换

    进制介绍 JavaScript 中提供的进制表示方法有四种:十进制.二进制.十六进制.八进制. 对于数值字面量,主要使用不同的前缀来区分: 十进制(Decimal): 取值数字 0-9:不用前缀. 二 ...

  3. Qt 串口通信之使用16进制发送数据的转换方式

    Qt 串口通信之使用16进制发送数据的转换方式 一 概述 有时候在做上位机串口通讯时,经常需要将字符串转成16进制的形式作为发送,借此分析记录一下. 二 需求分析 //假设需要转换的字符:如下 QSt ...

  4. 关于C# Math 处理奇进偶不进

    话说,最近一次系统维护 用JS读取导入Excel中的实验数据,出现被自动四舍五入.后来到客户现场听客户反馈  Excel实验数据要求 奇进偶不进. 关于 奇进偶不进 产生的由来:从统计学的角度,“奇进 ...

  5. C#控制打印机通过不同纸盒/进纸口进纸打印

    通常我们是通过程序操作打印机打印我们设置好的内容,但基本都是打印机默认进纸口打印:最近有一个通过C#程序控制两个进纸口分别进一张纸进行打印的需求,通过偿失找到了解决方案如下: 关于C#调用打印机打印的 ...

  6. Java中byte与16进制字符串的互相转换

    * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...

  7. PHP中进制之间的互相转换

    常见的进制: 二进制   binary   ----->  bin 八进制   octal     ----->  oct 十进制   decimal ----->  dec 十六进 ...

  8. [转]Java中byte与16进制字符串的互相转换

    Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...

  9. js各种进制数之间的转换

    计算机中常用的进制数有二进制.八进制.十进制.十六进制 一.十进制 to 其他 var x = 10; // 或定义其他值均可 x.toString(n); // n 代表要转换到的进制,比如n可以为 ...

随机推荐

  1. 关于WebService

    转自于:https://www.cnblogs.com/xdp-gacl/p/4048937.html 一.序言 大家或多或少都听过 WebService(Web服务),有一段时间很多计算机期刊.书籍 ...

  2. 二进制中的个数(JAVA)

    二进制中的1的个数 题目描述 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 思路:用位运算来进行移1操作.(首先得知道数在计算机中都是以01来放置的) 1,若由一个数11100,当 ...

  3. 深入理解JavaScript事件循环机制

    前言 众所周知,JavaScript 是一门单线程语言,虽然在 html5 中提出了 Web-Worker ,但这并未改变 JavaScript 是单线程这一核心.可看HTML规范中的这段话: To ...

  4. python selenium Chrome模拟手机浏览器(十七)

    在做移动端页面测试时可以利用Chrome mobile emulation 辅助完成页面的适配问题,但是目前手机市场上的型号居多我们也没有办法通过人工的模式一一的去适配,所以这里考虑到通过自动化的模式 ...

  5. reset Cisco 2960 password

    详见:http://www.cahilig.net/2014/04/14/how-reset-cisco-2960-switch-password-without-losing-your-config ...

  6. Hanlp自然语言处理工具之词法分析器

    本章是接前两篇<分词工具Hanlp基于感知机的中文分词框架>和<基于结构化感知机的词性标注与命名实体识别框架>的.本系统将同时进行中文分词.词性标注与命名实体识别3个任务的子系 ...

  7. 安装owncloud出现:Error while trying to create admin user: An exception occurred while executing

    安装owncloud出现:Error while trying to create admin user: An exception occurred while executing 1.安装ownc ...

  8. Routemanage类方法详解

    using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Ref ...

  9. Jquery 扩展方法实现原理

    JSONP原理 首先:JSON和JSONP是不一样的概念. JSON是一种数据交换格式,而JSONP是非正式传输协议. 该协议的一个要点就是允许用户传递一个callback参数给服务端,然后服务端返回 ...

  10. Struts2单文件上传原理及示例

    一.文件上传的原理 表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值: 1.application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里 ...