`
bei-jin-520
  • 浏览: 108736 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

二进制与十进制的相互转法所引出的相关知识

阅读更多

二进制用0和1表示,十进制是指从0-9的数字。当从高位向低位转换的时候用高位数除以2,能整除的数补0.下面举个例子来说明。例如:

8的二进制算法为

8/2=4 补0;

4/2=2 补0;

2/2=1 补0;

1/2=1;

最后的把结果倒过来得:1000;

当从低位向高位转的时候乘以2的N次方。例如:

1000的十进制计算方法为:

0*2的0次方;

0*2的1次方;

0*2的2次方;

1*2的3次方;

最后得到结果为8。

【应用举例】

在JAVASCRIPT中有个按位左移运算符 (<<)和按位右移运算符 (>>)和按位“与”运算符 (&)和按位“或”运算符 (|)

按位“异或”运算符 (^)就要用到进制转换问题。

例如:

1.

8>>2结果是2,怎么得到的呢?首先把8转成二进制数字为1000.向右移动2位就变成了0010了。

在用到前面的二进制转十进制知识就可以得到结果为2.

同理8<<2二进制的表示为100000了转换为十进制结果为32。

(当然这里有更为简单的算法:当向右移位时用该数除以2的要移动的位数的倍数,当向左移位时用该数乘以2的要移动的位数的倍数。)

按位“与”运算符 (&)

& 运算符查看两个表达式的二进制表示法的值,并执行按位“与”操作。该操作的结果如下所示:

0101   (expression1)
1100   (expression2)
----
0100   (result)

任何时候,只要两个表达式的某位都为 1,则结果的该位为1。否则,结果的该位为 0。

运用:8&2结果为

8的二进制为1000,2的二进制为0010,比较后二进制结果为0000 结果就为0.

按位“或”运算符 (|) 

| 运算符查看两个表达式的二进制表示法的值,并执行按位“或”操作。该操作的结果如下所示:

0101   (expression1)
1100   (expression2)
----
1101   (结果)

任何时候,只要任一表达式的一位为 1,则结果的该位为 1。否则,结果的该位为 0。

运用:8|2结果为

8的二进制为1000,2的二进制为0010,比较后二进制结果为1010结果为10.

按位“异或”运算符 (^)

^ 运算符查看两个表达式的二进制表示法的值,并执行按位异或。该操作的结果如下所示:

0101   (expression1)
1100   (expression2)
----
1001   (结果)

当且仅当只有一个表达式的某位上为 1 时,结果的该位才为 1。否则结果的该位为0。

运用:8^2的结果为

8的二进制为1000,2的二进制为0010,比较后二进制结果为1010结果为10.

=========================================================================

=========================================================================

 【补充二进制和八进制和十六进制之间的转换】

八进制就是从0-7的数字表示,十六进制用0-9,A-F表示。在这里就不在鳌述一些概念性的东西了。列如要把56.22表示为

2的三次方为8

(101)(110).(010)(010)

二进制最后结果为:

110101.01001.

 【解释:小数点后的数字按从左往右每三位为一位不足三位补0,小数点前的数从右往左每三位为一位补足三位补0.

十六进制5D.32转换为二进制:

同理

2的4次方为16所以以4位为一位。

(0101)(1101).(0011)(0010)

最后结果为:

11010101.0011001

 

 

 

 

 

 

分享到:
评论

相关推荐

    数字逻辑与数字电路实验.rar

    (2) 实验原理:序列检测器可用于检测一组或多组由二进制吗组成的脉冲序列信号,当序列检测器连接收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。 (3) 实验内容1:按照教材180...

    一种开关输出焊片标有C、1、2、4、8

    当转盘转到显示十进制数l时,开关下边的引出焊片l与C连通。然后再不断转动转盘时分别出现十进制数与引出焊片的接通关系是:2一C、2导通;3一C、1、2导通;4一C、4导通;5一C、1、4导通;6一C、2、4导通;7一C、1、2、4导通...

    课程设计---数字测速系统设计.doc

    由CD4511把输进 来的二进制信号翻译成十进制数字,再由数码管显示出来。这里的LED数码管是采用共阴 的方法连接的。 计数器实现了对时间的累计并以8421BCD码的形式输送到CD4511芯片,再由4511芯片 把BCD码转变为七段...

    电子秒表电路的设计.doc

    摘要 在数字测量仪表和各种数字系统中,都需要将数字量直观的显示出来,数字显示电路 通常由译码驱动器和显示器等...如果计数脉冲由CP1端输入,输出由QA端引出,即得二进制计数器;如果 计数脉冲CP2端输入,输出由Q

    教学设计——4.1编制计算机程序解决问题.doc

    " " " " "5、二进制的概念。电路有两种状态,分别是" " " " ""开"和"关",于是用数字"1"和"0"来代替。 " " " " "逢2进1。举例十进制。 " " " " "6、计算机的工作原理。内存PK外存。内存比" " " " "喻成操场、外存...

    【51单片机仿真实例】基于51单片机数码管驱动详解及六个驱动电路仿真示例(程序+Proteus仿真+相关说明)

    目 录  一、数码管简介 二、数码管驱动方式 三、数码管驱动电路 四、驱动电路示例 ...静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动

    程控交换实验、用户模块电路 主要完成BORSCHT七种功能,它由下列电路组成:

    4、双音多频DTMF接收检测电路: 把MT8870DC输出的DTMF四位二进制信号,接收存贮后再送给CPU中央集中控制处理系统。 5、用户状态检测电路: 主要识别主、被叫用户的摘挂机状态,送给CPU进行处理。 6、自动交换网络...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    07-MySQL服务二进制日志的3种工作模式配置方法实战 第十部-老男孩MySQL常用引擎及优缺点-应用场景-调优详解(14节) 01-MySQL服务存储引擎介绍 02-MySQL服务存储引擎体系结构 03-MySQL服务MyISAM引擎介绍及磁盘文件...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    # 十六进制数(等于十进制数的18) $a = 1.234; # 浮点数"双精度数" $a = 1.2e3; # 双精度数的指数形式 字符串 字符串可以由单引号或双引号引出的字段定义。注意不同的是被单引号引出的字符串是以字面定义的,而双...

    51单片机C语言编程基础及实例

    十六进制表示字节 0x5a:二进制为 01011010B;0x6E 为 01101110。 如果将一个 16 位二进数赋给一个 8 位的字节变量,则自动截断为低 8 位,而丢掉高 8 位。 ++var 表示对变量 var 先增一;var—表示对变量后减一。 ...

    c++ 面试题 总结

    代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存的概念。把哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load入主存...

    Delphi5开发人员指南

    1.9 IDE最重要的十点功能 13 1.10 总结 15 第2章 Object Pascal语言 16 2.1 注解 16 2.2 新的过程和函数特征 17 2.2.1 圆括号 17 2.2.2 重载 17 2.2.3 缺省值参数 17 2.3 变量 18 2.4 常量 19 2.5 运算符 20 2.5.1 ...

Global site tag (gtag.js) - Google Analytics