计算机组成与体系结构
数据表示——进制转换
这里只讲一些计算机常用的数制之间的转换(二进制、八进制、十进制、十六进制)喔
(一)非十进制数 转换为 十进制数
转换的实质就不解释啦,直接举例子解释更加易懂
将1101.101(二进制)转换为十进制数
这个对于我们来说不难
非十进制数转换为十进制数即为按权展开。
权是每个单位的大小,二进制的权是2,八进制的权是8,十六进制的权是16
下面是计算过程:
不同进制数要按照不同的权进行展开,从而转换为十进制数
(二)十进制数 转换为 非十进制数
十进制数转换为非十进制数要分为整数部分的转换和小数部分的转换
整数部分的转换:除基取余倒序排列
小数部分的转换:乘基取整顺序排列
基 即是基数,是计数的基准,N进制的基数为N。
直接用栗子会比较容易理解
比如将126.625(十进制)转换为八进制数
先计算整数部分,按照 除基取余倒序排列 进行计算
计算过程如下:
将十进制数的整数部分除以要转换的进制数的基数,然后将所得余数按照从下往上读取,即可得到转换后的进制数的整数部分
然后再计算小数部分,计算过程如下
将十进制数的小数部分乘以要转换的进制数的基数,将所得的结果取证按照从上往下读取,由于这部分是作为转换后的进制数的小数部分,因此结构应该位于转换后的进制数的小数点后面
十进制数转换为非十进制数都可以按照这个方法进行转换,转换为不用的非十进制数要根据不同的基数进行计算
(三)二进制数 转换为 十六进制数
二进制数转换为十六进制数可按照“四位一组,后往前分,不足补零(补最前),按位读取”的方法进行转换
四位二进制数对应一位十六进制数,因此二进制数转换为十六进制数可以从低位往高位进行划分,四位为一组,划分到高位时不足四位则在最高位补0(由于在高位补0不改变数的大小),然后按四位二进制数对应一位十六进制数进行读取。记住,划分的时候一定要从低位往高位进行划分!
举个栗子帮助理解
将10110101010010(二进制)转换为十六进制数
计算过程如下
因此10110101010010(二进制)对应的十六进制数为 2D52
(四)十六进制数 转换为 二进制数
十六进制数转换为二进制数可用简单的方法,前面介绍过四位二进制数对应一位十六进制数,因此可以将十六进制数每一位对应四位二进制数进行展开
举个栗子帮助理解
将9ABC(十六进制)转换二进制数
计算结果如下
9(十六进制)对应的二进制数是1001; A(十六进制)对应的二进制数是1010
B(十六进制)对应的二进制数是1011; C(十六进制)对应的二进制数是1100
因此9ABC(十六进制)对应的二进制数是 1001 1010 1011 1100
二进制数与八进制数的转换可根据:三位一组,后往前分,不足补零(补在最前),按位读取 进行转换,转换的方式与二进制转换为十六进制类似,这里就不做详细介绍啦
(三位二进制对应一位八进制;四位二进制对应一位十六进制)
数据表示——数据表示
原码
反码
补码
移码
表示范围
整数 | |
---|---|
原码 | -(2^n-1 - 1) ~ 2n-1 - 1 |
反码 | -(2n-1 - 1) ~ 2n-1 - 1 |
补码 | -2n-1 ~ 2n-1 - 1 |
浮点数计算
未完待续~
这里是Rain_Singing的博客,有什么问题可以评论或者私聊我,觉得有用的话记得点个赞喔~
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。