进制转换及如何求校验码(海明校验码及循环冗余校验CRC码)
文章目录
- 前言
- 一、进制转换
- 1.1 二进制转换为八进制数和十六进制数
- 1.2 任意进制数转换为十进制数
- 1.3 十进制转换为任意进制
- 二、校验码求取
- 2.1海明校验码
- 2.2循环冗余校验CRC码
- 总结
前言
了解进制间的相互转换:
- 二进制与八、十六进制间的相互转换
- 任意进制转换为十进制
- 十进制转换为任意进制数
了解如何求海明校验码及循环冗余校验CRC码
以下是本篇文章正文内容
一、进制转换
1.1 二进制转换为八进制数和十六进制数
思路:分为小数部分及整数部分,整数部分:从小数点往左分组,将一串二进制数分为3位(八进制)一组或4位(十六进制)一组在数的最左边根据需要补0。小数部分:从小数点后开始分组,适当在最右边补0
举例
1.二进制数(11111011.01110)转换为八进制数(三位一组)
2.二进制数(11111011.01110)转换为十六进制数(四位一组)
1.2 任意进制数转换为十进制数
思路:将任意进制的各位数码与他们的权值相乘并将他们相加得到十进制数。
举例:
1.二进制数(101001.01)转换为十进制数
2.八进制数(373)转换为十进制数
3.十六进制数(fb)转换为十进制数
1.3 十进制转换为任意进制
思路:1.整数部分采取除基取余,小数部分采用乘基取余。
2.拼凑法
1.举例十进制数(254.25)转换为二进制数
拼凑法:254.25 = 128 + 64 + 32 + 16 + 8 + 4 + 2 + 0.25
特殊情况(小数乘不到1无限循环,无法用二进制精准表示,例如十进制数0.3)
3.举例十进制数(254.25)转换为八进制数
2.举例十进制数(254.25)转换为十六进制数
二、校验码求取
2.1海明校验码
ps:异或((1 0 得1) 0 0 或1 1 得 0)
获取步骤
- 根据2^k >= n + k + 1 获取 k,n为有效信息位数
- 确定海明校验码的分布位置
- 分组形成校验关系
- 获得校验位值
举例带校验数据(10101011)若采用海明校验,其海明码为?
代码如下(示例):
2.2循环冗余校验CRC码
思路:在k位信息码后拼接R位校验码,在与生成多项式做模二除运算(异或运算)求得余数为校验码
步骤:
- 移位(左移R,低位补0)
- 相除(对最高几位做异或运算 ,除数右移一位,余数最高为1,商为1,对余数做异或,若商为1,对0做异或 循环至余数小于除数时 ,把余数作为校验位)
举例生成多项式为10011,带校验的数据为(10101011),求它的CRC码
总结
考研复习,参考教材王道2022计算机组成原理 笔记软件 :Notability
进制转换及如何求校验码(海明校验码及循环冗余校验CRC码)相关推荐
- python二进制反码例题_python中的进制转换和原码,反码,补码
python中的进制转换和原码,反码,补码 计算机文件大小单位 b = bit 位(比特) B = Byte 字节 1Byte = 8 bit #一个字节等于8位 可以简写成 1B = 8b 1KB ...
- 计算机数制(进制转换,原码,反码,补码,真值)
目录 区分进制 带小数点的进制转化 进制转换练习 符号数的表示方法 区分: 考点:给你原码转换补码,补码最负的数的表示,0的表示 原码,反码,补码练习 区分进制 注意微机原理这门课用的是后缀的方式,C ...
- 进制转换(非常详细+算法代码)
--快开学了,进制转换忘了怎么办? --没事,看这篇博客保你信手拈来 ! --学不会呢? --****我!! 废话不多说,我们进入正题 : 常用的进制范围和其符号修饰: 二进制(B)---->0 ...
- C1任务1:进制转换 学习与技巧总结
系列文章目录 C1 任务-01:进制转换 C1 任务-02:信息单位 C1 任务-03:数据校验 C1 任务-04:多媒体基础参数 C1 任务-05:HTTP 文章目录 系列文章目录 前言 一.进制定 ...
- 数据的表示和运算,进制转换,BCD码,奇偶校验码,海明校验码,循环冗余码
进制转换,逢r进一 基数:每个数码位所用到的不同符号的个数,r进制的基数为r 二进制 0 1 B 八进制 0~7 O 十进制 0~ 9 D 十六进制 0~9 ,A ~F( 10 ~15) H或0x 二 ...
- 软考笔记——1.1、计算机硬件组成、数据的进制转换、校验码
一.计算机硬件组成 计算机的硬件基本系统由五部分组成:运算器.控制器.存储器.输入设备(如鼠标键盘).输出设备(如显示器) 存储器分为内部存储器(即内存.容量小,速度快,临时存放数据)和外部存储器(即 ...
- 进制转换 位运算(包括补码、原码、反码、~0等一些零碎东西一次说清)
我发现网上关于标题上的内容介绍的都很零碎,因此为了方便查找.也为了本人对这一部分的充分理解,就想着写一篇这样的博客(我分成了几个部分,以便查找): 一.进制转换 让我们先来看看各个进制的定义: 十进制 ...
- 进制转换 原码、反码、补码
进制转换: 为什么要使用二进制.八进制.十六进制: 因为现在的CPU只能识别高低两种电流,只能对二进制数据进行计算 二进制数据虽然能够直接被CPU识别计算,但是不方便书写.记录,把二进制转换成八进制是 ...
- C语言简介之进制转换,原码、反码、补码,位运算符,函数
文章目录 进制转换: 十进制转二进制:(转其他进制) 二进制转十进制: 二进制转八进制: 二进制转十六进制: 原码.反码.补码: 位运算符: & ,|, ~, ^, <<, > ...
最新文章
- 学java时的一些笔记(1)
- CMake一次失败应用
- 看完这篇文章之后,终于明白了编译到底怎么回事
- 数据结构与算法-排序与查找(java描述)
- estemplate 导入MySQL_[数据库]es~通过ElasticsearchTemplate进行聚合操作
- 工业交换机与光纤收发器的区别
- 服务器显示配置命令,linux查看服务器配置命令
- java 算出下一个工作日,Java:计算一个日期加下指定工作日数(排除周六周日和一系列节日)...
- Android开发笔记(六十二)HTTP数据格式的解析
- 一张图学会python3高清图-一张图理清 Python3 所有知识点
- K210系列开发板介绍
- 50个新的汉化Demo!纯前端 Wijmo 放大招
- 自绘LISTVIEW的滚动条(Delphi实现)
- 从编写c语言源程序到运行,c语言 源代码到可执行程序的过程
- 全国电话区号->地址映射表
- 如何删除oracle备份集,RMAN中删除OBSOLETE备份集问题
- Python 粒子群算法 PSO
- 如何学计算机作文3000到500,作文学习电脑500字(共8篇)
- 6000多万铲屎官,捧得出一个国产主粮的春天吗?
- PTA最短工期 详细解释 为什么最短反而是最长?