关于机器数运算以及数制的转化
二进制【Binary】以及其他进制的一些 概念 | Tip
计算机运算时采用的数制,基数为2 只有 0 | 1,两个数字符号 最大数码为基数-1. 二进制数的标志为 B 相应的,十进制数的标志为 D 【Decimal】 十六进制数的标志为 H 【Hexadecilnal】 八进制数的标志为 O 【Octal】 八进制数可以用 O | Q 两种符号表述。 十六进制有几个点要注意: 在C、C++中规定十六进制必须以 0x 开头,比如 0x10 表示一个十六进制数。通常表示为(4603)H 。 十六进制数中的ABCDEF可以用小写表示,即abcdef | 不区分大小写
讯享网
十六进制数与计算机网络的相关联系
讯享网最新的IPv6采用十六进制表示,IPv4通常采用十进制表示
为什么要有16进制,8进制
原因:并不都是为计算机自身要求而实现的,因为一个较大的数用二进制数表示会显得太长了。
不同进制之间的相互转换
非10 转 10
讯享网eg: (11010)B 转 D : 1*2^4 + 1*2^3 +1*2^1 其他进制依次类推 权值*数值 的总和
10 转 非10
eg: (100.1235)D 转B 整数部分:100 连续使用短除法除以二进制的基数2 ,计算每次除以2的余数,直到不能整除为止,再依次从上往下取每次得到的余数,以小数点开始向左书写对应的余数序列。 | 整数部分除2取余 小数部分: 0.1235连续乘以二进制的基数2,计算每次乘2的整数,然后去掉整数,将剩下的小数部分继续乘2,不断重复,上述步骤,直到小数部分都是0为止,最后,从上往下取每次得到的整数部分,以小数点开始向右书写对应的整数序列。 | 小数部分乘2取整 其他的进制转10按照二进制的方法类推即可。
非10 之间的相互转化
讯享网2,8,16进制之间有这样一个规律:*1位八进制数对应3位二进制数,1位16进制对应4位二进制数。因此可以通过这个规律非常简便得进行转换* eg:(3456.2262) Q 转换为二进制数 方法: 依次把八进制得每一位用3位2进制数表示,最后得到得结果为:(011 100 101 110 . 010 110 010)B | 整数部分前面得0就可以省略。 eg: (.10111)B 转换为八进制 方法:整数部分从小数点开始向左取数,每3位为1组,到最前面如果不足3位则补0,小数部分则向右取数 即:( 001 101 011 . 101 110 )B 转为(1 5 3 . 5 6)Q 其他依此方法类推即可。
机器数需要了解得一些基础知识点有:
概念
指计算机中参与运算且戴有+ -属性得二进制数。即为有符号位得二进制数。规定最高位为符号位。 0为正,1为负 。所以也称为 符号数值化得二进制数 没有符号位得二进制数为无符号数,既不是机器数,也不参与各种运算。比如信息编码 以及ID编号等等
必要知识点
讯享网机器数除去符号位得部分为机器数得真值 | 的真值为-5 存储器的单位存储长度为字长,字长就是用来表示一个机器数所用的二进制的位数。 一个机器数必须单独占用一个字长 8位为一个字节 字长越常,CPU的数据处理能力越强 | 每次可以处理更多的数据
原码
原码就是原始编码,就是对应机器数本身所代表的编码形式 原码的优缺: 加减运算规则复杂 | because符号位要单独处理,容易出错 原码中的0有两种编码形式,存在二义性。
补码
讯享网*补码产生的意义便是方便机器数的运算* 补码的编码规则: 正原码的补码就是其本身 负原码的补码转换成补码:符号位不变,其余取反,最后最低位加1 补码的优缺: 继承了部分原码特点(同样可以表示正负) 可以把符号位一起运算,符号位不需单独处理 补码中,0只有一种形式,没有二义性 | -0 表示成原码是,计算补码得,最高位1溢出【机器数只有8位】
反码
反码得编码规则: 正原码的反码就是其本身 负原码的反码就是其补码最低位-1 相比补码,反码好像没什么用,只是原补之间转换的一个中间态。 当然,在IPv4地址的子网掩码计算时必须用到反码
阶码
讯享网通俗的讲,在10进制中的科学计数法中,阶码就是10上面的指数,在机器数中,阶码就是2上面的指数。 对于N=S*2^P,S为尾数,p为阶码,2为基数。
移码–偏移的编码
为什么要有移码? | 方便机器数的大小比较 | 用于浮点数中阶码的修正 移码的计算公式:X移=X+2^n,n为X原码的二进制真值位数 移码与阶码的转化关系:X移=X阶+2^n。 补码与移码的关系即为符号位互反的关系 | 所以在*计算移码的时候,可以先计算补码,再将符号位取反即可得到移码*
定点数
定点整数
讯享网小数点固定在有效数值部分最低位之后的定点数,若X=X0X1X2X3X5X6X7,X0为符号位 ,其余7位表示真值
定点小数
小数点位置固定在符号位之后,有小数最高位之前的定点数
同时包含整数和小数部分的定点数
讯享网为了确定其小数点的位置,在一个字长的存储位中小数点位置必须提前记录下来。固定了一个字长表示的机器数的大小精度。
浮点数
浮点数的表示方法 | 相当于十进制中的科学计数法
S | E | M :S表示符号位,E为阶码,M为尾数
浮点数的IEEE 754标准
讯享网标准的定义:IEEE 754将浮点分为单精度和双精度,分别为32和64位 IEEE 754标准中,符号位不变,阶码为固定8位,且用移码表示,即在原阶码基础上加上2的7次方,即127()B 尾数为32-1-8,即23位(不足补零)
需要掌握
给定一个机器数,转化为IEEE 754标准 | 公式:S(1.M)*2^E-偏移
浮点数表示形式的转换
二进制数的运算
二进制的算术运算
+ - * / 为逢2进1.
补码的加减
讯享网【X补】+【Y补】=【X+Y】补 【X-Y】补=【X】补+【-Y】补 负数补码的求法:将该负数的正数原码全部位取反+1.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/60131.html