数制

数制是整个数字逻辑的基础,计算机只识别0,1。因此如何将我们现实生活中常用的十进制数转换为二进制,或者其他进制,以及掌握常用的几种数制是我们本篇文章的重点。

一、数制

十进制:

(1)计数符号:0,1,2,3,4,5,6,7,8,9.

(2)进位规则:逢十进一

(3)采用位置计数法

例:$(1917.45)_10 = 1*10^3+9*10^2+1*10^1+7*10^0+4*10^{-1}+5*10^{-2}$

二进制:

(1)计数符号:0,1.

(2)进位规则:逢二进一

(3)位置计数法

例:$(101.11)_2 = 1*2^2+0*2^1+1*2^0+1*2^{-1}+1*2^{-2}$

十六进制:

(1)计数符号:0,1,…,9,A,B,C,D,E,F.

(2)进位规则:逢十六进一

(3)位置计数法

例:$(6D.4B)_{16} = 6*16^1+D*16^0+4*16^{-1}+B*16^{-2}$

八进制:

(1)计数符号:0,1,…,6,7

(2)进位规则:逢八进一

(3)位置计数法

例:$(63.45)_8=6*8^1+3*8^0+4*8^{-1}+5*8^{-2}$

整数十进制转二进制:(除2逆取余)

例:将十进制数53转换为二进制数.

小数十进制转二进制:(乘2顺取整)

例:将十进制数0.6875转换为二进制数.

二进制转八进制和十六进制

二进制转成八进制时:以小数点为界,小数点左边往高位,小数点右边往低位,每三位为一组,不足三位的用0补充.

二进制转成十六进制时:以小数点为界,小数点左边往高位,小数点右边往低位,每四位为一组,不足四位的用0补充.

二、二进制算数运算

二进制加法:

0+0=0,0+1=1,1+0=1,1+1=10 产生进位1

二、二进制算数运算

二进制加法:

0+0=0,0+1=1,1+0=1,1+1=10 产生进位1

例:两个四位二进制数相加1001(9)+1011(11)=10100(20)

二进制减法:

0-0=0,1-1=0,1-0=1,10-1=1 产生借位1,并且我们认为高位总有位可借

例:两个三位二进制数相减 101-011=010

二进制乘法:

0*0=0,0*1=0,1*0=0,1*1=1

例:两个两位二进制数相乘 11*11=1001

二进制除法:

例:1001/11=11

三、二-十进制码(BCD码)

用四位二进制码来表示一位十进制数字.

常见的BCD码:8421码,5421码,2421码,余3码.

8421码

    2421码

余3码(8421码+0011)

例1:用8421BCD码表示十进制数$(73.5)_{10}$.

    7=0111,3=0011,5=0101,故$(73.5)_{10}=(01110011.0101)_{8421BCD码}$

例2:把8421BCD码01100111.01011000转换为十进制数.

    0110=6,0111=7,0101=5,1000=8,故$(01100111.01011000)_{8421BCD码}=(67.58)_{10}$

四、格雷码(Gray码)

格雷码为无权码,特点为:相邻两个代码之间仅有一位不同,其余各位均相同.

三位格雷码$G_2G_1G_0$和三位二进制码$B_2B_1B_0$之间的关系:

五、奇偶校验码:具有纠错能力的编码

编码方法:在源码组的基础上增加一个码位使码组中含1的个数为奇数(称为奇校验)或偶数(称为偶校验)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ACM算法日常

最长上升子序列(LIS)算法

LIS(Longest Increasing Subsequence)最长上升子序列 一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列...

1272
来自专栏salesforce零基础学习

salesforce 零基础开发入门学习(二)变量基础知识,集合,表达式,流程控制语句

salesforce如果简单的说可以大概分成两个部分:Apex,VisualForce Page. 其中Apex语言和java很多的语法类似,今天总结的是一些简...

3037
来自专栏Java帮帮-微信公众号-技术文章全总结

Java基础-day05-代码题

Java基础-day05-代码题 1.在主方法里键盘录入n(1<=n<=9),并调用打印nn乘法表的方法。 ? 实现代码: package StudentJ...

3659
来自专栏逸鹏说道

Python3 与 C# 面向对象之~封装

原文:https://www.cnblogs.com/dotnetcrazy/p/9202988.html

2033
来自专栏老马说编程

(28) 剖析包装类 (下) / 计算机程序的思维逻辑

本节探讨Character类,它的基本用法我们在包装类第一节已经介绍了,本节不再赘述。Character类除了封装了一个char外,还有什么可介绍的呢?它有很多...

1957
来自专栏机器学习入门

挑战程序竞赛系列(72):4.7高度数组(2)

挑战程序竞赛系列(72):4.7高度数组(2) 传送门:POJ 3415: Common Substrings 题意: 公共子串:统计A和B长度不小于K的公共...

18810
来自专栏WindCoder

Java漫谈-深拷贝与浅拷贝

2、运用反射手段创建对象,调用java.lang.Class 或者 java.lang.reflect.Constructor 类的newInstance()实...

7042
来自专栏前端开发

【JavaScript】String字符串对象下的方法

1465
来自专栏小白的技术客栈

Python面向对象编程-完整版

面向对象是一种编程范式。范式是指一组方法论。编程范式是一组如何组织代码的方法论。编程范式指的是软件工程中的一种方法学。

2403
来自专栏深度学习之tensorflow实战篇

字节码:ASCII编码:单字节编码,ANSI编码:多字节编码,UNICODE编码:宽字节编码

字符是人们常用的一些记号,比如”1”, “汉”, “お”,”℃”等等,包括各种语系的语言和一些符号都可以被称为字符。 字节是计算机存储数据的存储单元,是一个8位...

2876

扫码关注云+社区