一)、数制
计算机中采用的是二进制,因为二进制具有运算简单,易实现且可靠,为逻辑设计提供了有利的途径、节省设备等优点,为了便于描述,又常用八、十六进制作为二进制的缩写。
一般计数都采用进位计数,其特点是:
(1)逢N进一,N是每种进位计数制表示一位数所需要的符号数目为基数。
(2)采用位置表示法,处在不同位置的数字所代表的值不同,而在固定位置上单位数字表示的值是确定的,这个固定位上的值称为权。
在计算机中:D7 D6 D5 D4 D3 D2 D1 D0 只有两种0和1
8 4 2 1
二)、数制转换
不同进位计数制之间的转换原则:不同进位计数制之间的转换是根据两个有理数如相等,则两数的整数和分数部分一定分别相等的原则进行的。也就是说,若转换前两数相等,转换后仍必须相等。
有四进制
十进制:有10个基数:0 ~~ 9 ,逢十进一
二进制:有2 个基数:0 ~~ 1 ,逢二进一
八进制:有8个基数:0 ~~ 7 ,逢八进一
十六进制:有16个基数:0 ~~ 9,A,B,C,D,E,F (A=10,B=11,C=12,D=13,E=14,F=15) ,逢十六进一
1、数的进位记数法
N=a n-1*p n-1+a n-2*p n-2+…+a2*p2+a1*p1+a0*p0
2、十进制数与P进制数之间的转换
①十进制转换成二进制:十进制整数转换成二进制整数通常采用除2取余法,小数部分乘2取整法。例如,将(30)10转换成二进制数。
将(30)10转换成二进制数
2| 30 ….0 ----最右位
2 15 ….1
2 7 ….1
2 3 ….1
1 ….1 ----最左位
∴ (30)10=(11110)2
将(30)10转换成八、十六进制数
8| 30 ……6 ------最右位
3 ------最左位
∴ (30)10 =(36)8
16| 30 …14(E)----最右位
1 ----最左位
∴ (30)10 =(1E)16
3、将P进制数转换为十进制数
把一个二进制转换成十进制采用方法:把这个二进制的最后一位乘上20,倒数第二位乘上21,……,一直到最高位乘上2n,然后将各项乘积相加的结果就它的十进制表达式。
把二进制11110转换为十进制
(11110)2=1*24+1*23+1*22+1*21+0*20=
=16+8+4+2+0
=(30)10
把一个八进制转换成十进制采用方法:把这个八进制的最后一位乘上80,倒数第二位乘上81,……,一直到最高位乘上8n,然后将各项乘积相加的结果就它的十进制表达式。
把八进制36转换为十进制
(36)8=3*81+6*80=24+6=(30)10
把一个十六进制转换成十进制采用方法:把这个十六进制的最后一位乘上160,倒数第二位乘上161,……,一直到最高位乘上16n,然后将各项乘积相加的结果就它的十进制表达式。
把十六制1E转换为十进制
(1E)16=1*161+14*160=16+14=(30)10
3、二进制转换成八进制数
(1)二进制数转换成八进制数:对于整数,从低位到高位将二进制数的每三位分为一组,若不够三位时,在高位左面添0,补足三位,然后将每三位二进制数用一位八进制数替换,小数部分从小数点开始,自左向右每三位一组进行转换即可完成。例如:
将二进制数1101001转换成八进制数,则
(001 101 001)2
| | |
( 1 5 1)8
( 1101001)2=(151)8
(2)八进制数转换成二进制数:只要将每位八进制数用三位二进制数替换,即可完成转换,例如,把八进制数(643.503)8,转换成二进制数,则
(6 4 3 . 5 0 3)8
| | | | | |
(110 100 011 . 101 000 011)2
(643.503)8=(110100011.101000011)2
4、二进制与十六进制之间的转换
(1)二进制数转换成十六进制数:由于2的4次方=16,所以依照二进制与八进制的转换方法,将二进制数的每四位用一个十六进制数码来表示,整数部分以小数点为界点从右往左每四位一组转换,小数部分从小数点开始自左向右每四位一组进行转换。
(2)十六进制转换成二进制数
如将十六进制数转换成二进制数,只要将每一位十六进制数用四位相应的二进制数表示,即可完成转换。
例如:将(163.5B)16转换成二进制数,则
( 1 6 3 . 5 B )16
| | | | |
(0001 0110 0011. 0101 1011 )2
(163.5B)16=(101100011.01011011)2
分享到:
相关推荐
一个程序员对学弟学妹建议
本资料包“给学弟学妹的PCB.zip”包含了一个特别设计的、尺寸小巧的PCB板,旨在满足STM32基础功能学习的需求。 首先,我们来了解STM32。STM32是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M内核...
此外,通过这一学期的学习,希望我可以把代码写的更加美观(回头看看自己大一写的代码,真的是又水又丑,再看看现在大一学弟们的代码,真是惭愧了!)。有空一定要把《代码整洁之道》拿来好好拜读一下。也希望有幸...
合肥工业大学2024年体系结构(丁贤庆)复习笔记(开源给学弟学妹们学习)
通过上述总结,可以看出科大校长给数学系学生的忠告涵盖了扎实基础、广泛阅读、重点课程学习以及跨学科交流等方面,旨在引导学生建立坚实的数学基础,同时拓宽视野,为未来的职业发展打下坚实的基础。这些忠告对于...
激励学弟学妹发言稿.pdf
"大学毕业生对学弟学妹们的建议" 本文是一个大学毕业生对学弟学妹们的建议和经验分享。...总结来说,本文提供了两个大学毕业生的经验和建议,希望能够帮助学弟学妹们更好地度过大学生活,提高自己的专业技能和自信心。
此项目是结对编程项目,现把源代码给出,给以后的学弟学妹供给参考_HNU_Couple_Project
这个压缩包中的代码是根据教材敲打而成的,旨在帮助那些不愿意或没有时间手动输入代码的学弟学妹们快速理解和实践课程中的编程任务。 LostCraft的目的是为了让初学者能够更便捷地接触到编程,降低学习门槛,提高学习...
程序员之路——一个老程序员对刚上大学的学弟学妹的忠告.
压缩包里有一个内含1000个24位十六进制数的txt文件,假定这1000个数据为当前的RFID标签,本程序实现了从文件读取数据,转换格式后进行识别,并转换为原格式后按识别顺序输出到txt文档中,附带了记录程序运行时间的...
在当今快速发展的IT领域,新兴技术的涌现如同流星划过夜空,瞬息万变,给那些渴望进入这个行业的初学者带来了迷茫和疑惑。作为一名在程序世界中摸爬滚打多年的程序员,我想通过这篇文章为我的学弟学妹们提供一些宝贵...
国家奖学金,天堰奖学金等评选ppt,供学弟学妹参考
《淘宝服饰销量与评价数据分析项目详解》 在数据挖掘领域,淘宝服饰销量及评价的分析是一项常见...通过这样的实战,不仅能提升技术能力,还能锻炼解决问题和团队协作的能力,对于学弟学妹们来说是一次宝贵的学习经历。
程序人生--一个程序员对学弟学妹建议 本文从程序员的角度,向学弟学妹们提供建议,希望他们能够正确地学习计算机技术,避免一些误区。文中指出了初学者追赶时髦技术的几种误区,例如认为计算机技术等于编程技术、...
【操作系统】 操作系统是计算机科学的核心领域之一,它作为硬件与软件之间的桥梁,管理着计算机的资源分配、任务调度和数据处理。在学习操作系统时,理论与实践并重是非常重要的。 首先,理论学习方面,推荐Andrew...
时频分析 + 时变阶分数傅立叶变换普 + 时变滤波 相关的毕业设计课题全部代码和论文+PPT,供各位通信、电子信息工程等相关学弟学妹参考。时间频率时频分析 + 时变阶分数傅立叶变换普 + 时变滤波 相关的毕业设计课题...
这份"大一时的 C 语言作业合集"是为初学者准备的宝贵资源,旨在帮助学弟学妹们更好地理解和掌握C语言的基本概念、语法以及编程技巧。 1. **基础知识** - **变量与数据类型**:C语言中的基本数据类型包括整型(int)...
为此,我为即将踏入或已经身在IT领域的学弟学妹们提出以下几点建议,希望能够帮助你们在技术的道路上越走越稳。 首先,一定要重视计算机科学的基础课程。这些课程包括但不限于数据结构、算法、操作系统原理、计算机...