各进制之间的换算方法

如题所述

第1个回答  2022-07-17

除二取余(直到商为0时止),倒序排列,高位补零。

如:45

45/2 = 22...1 = 11...0 =5...1=2...1=0...1=>101101=》00101101

正数二进,取反加一

如-45

00101101——--取反---11010010----加1--11010011

X2取整,小数累乘再取整,直到满足位数或小数部份为0为止。

如0.45f

0.45x2 = 0.9(0---0.9)x2=1.8(1--0.8)x2=1.6(1--0.6)x2=1.2(1--0.2)x2=0.4(0--0.4)x2 = 0.8(0-0.8)...

浮点数取23位,所以0.45=》0.01110011001100110011001

将二进制补足位数,首位是0表示正数,首位是1表示负数

首位是0,则将每位数x2^n求和,其中n为从右往左的下标。

如:101101

高位补零 = 00101101 =1*2^5+ 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 = 32+8+4+1 = 45

首位是1,则补位取反,再套用上面公式

如:11101011

取反:-00010100 = -10100 = -(1 2^4+1 2^2) = -20

将小数的每一位x2^-n,再求和。

如:0.1101

= 0*2^0 + 1*2^-1 + 1*2^-2 + 0*2^-3 + 1*2^-4

=0+0.5+0.25+0.0625

=0.8125

首先记住下面的对应关系

二进制转换成十六进制的方法是,取四合一法,即从二进制的小数点为分界点,向左(或向右)每四位取成一位,如下图

将对应的四位数转位十六进制:

上面是二进制转十六进制,十六进制转二进制反过来就行了

相似回答