发布网友
共1个回答
热心网友
首先,要理解,“什么叫做进制”!!!
先来弄懂“某某进制的整数部分”吧。
先拿最常见的十进制来说:
124,在十进制中,是这样理解的:1X(10的2次方) + 2X(10的1次方) + 4X(10的0次方) = 1X100 + 2X10 + 4X1 = 124。
————————————————————————————————————————
解读:从该某某进制的数 的小数点左边第一位起往左算,分别对应乘以该进制的0次方->乘以该进制的1次方->乘以该进制的2次方->乘以该进制的3次方…
同理,拿一个二进制的数来说:
0111,在二进制中,是这样理解的:0X(2的3次方) + 1X(2的2次方) + 1X(2的1次方) + 1X(2的0次方) = 0X8 + 1X4 + 1X2 + 1X1 = 7。
————————————————————————————————————————
解读:从该某某进制的数 的小数点左边第一位起往左算,分别对应乘以该进制的0次方->乘以该进制的1次方->乘以该进制的2次方->乘以该进制的3次方…
再同理,拿一个十六进制的数来说:
1C,在十六进制中,是这样理解的:1X(16的1次方) + CX(16的0次方) = 1X16 + 12X1 = 28。
(十六进制的基数有0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;
分别用以下来表示:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;)
————————————————————————————————————————
解读:从该某某进制的数 的小数点左边第一位起往左算,分别对应乘以该进制的0次方->乘以该进制的1次方->乘以该进制的2次方->乘以该进制的3次方…
如果能够理解上面的举例,就可以弄懂“某某进制的整数部分”。
那如果有小数部分,该怎么弄懂“某某进制的小数部分”?
再次先拿最常见的十进制来说,
0.124,在十进制中,是这样理解的:1X(10的-1次方) + 2X(10的-2次方) + 4X(10的-3次方) = 1X0.1 + 2X0.01 + 4X0.001 = 0.124。
————————————————————————————————————————
解读:从该某某进制的数 的小数点右边第一位起往右算,分别对应乘以该进制的-1次方->乘以该进制的-2次方->乘以该进制的-3次方->乘以该进制的-4次方…
题外话:不要告诉我不懂“负次方”!负次方:一个数的正次方的倒数,即为其负次方。
同理,拿一个二进制的数来说:
0.0111,在二进制中,是这样理解的:0X(2的-1次方) + 1X(2的-2次方) + 1X(2的-3次方) + 1X(2的-4次方) = 0X(1/2) + 1X(1/4) + 1X(1/8) + 1X(1/16) = 你自己算吧。
————————————————————————————————————————
解读:从该某某进制的数 的小数点右边第一位起往右算,分别对应乘以该进制的-1次方->乘以该进制的-2次方->乘以该进制的-3次方->乘以该进制的-4次方…
题外话:不要告诉我不懂“负次方”!负次方:一个数的正次方的倒数,即为其负次方。
再同理,拿一个十六进制的数来说:
0.1C,在十六进制中,是这样理解的:1X(16的-1次方) + CX(16的-2次方) = 1X(1/16) + 12X(1/256) = 你自己算吧。
(十六进制的基数有0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15;
分别用以下来表示:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F;)
————————————————————————————————————————
解读:从该某某进制的数 的小数点右边第一位起往右算,分别对应乘以该进制的-1次方->乘以该进制的-2次方->乘以该进制的-3次方->乘以该进制的-4次方…
题外话:不要告诉我不懂“负次方”!负次方:一个数的正次方的倒数,即为其负次方。
最后来点福利,很多人最容易搞错的——“二进制的负数”
例:
十进制的 2:转换为二进制:0000 0010
十进制的 4:转换为二进制:0000 0100
求和:2+4,(应该等于6)
0000 0010
+0000 0100
———————
0000 0110(转换为十进制,则是6)
反过来,求差:2-4,(应该等于-2)
(1) 0000 0010
-0000 0100
———————
1111 1110(被减数不够减,要往前一位借1(用括号括中)。转换为十进制,则是-2)
将得出二进制的负数,拿来验证:-2+2,(应该等于0)
1111 1110
+0000 0010
———————
(1) 0000 0000(求和要进位,要往前一位进1(用括号括中)。转换为十进制,则是0)
由此可以看出,二进制中,由于储存位数的规定(存储4位或8位或16位或32位或位),由于加要往前进1位,减要往前借1位,正好抵消。
对于允许是负数的数值(称为带符号的数值),必须先确定一个固定的长度(换言之,就是二进制数的位数),再把最左边的二进制数字设置为符号位。必须固定位数,这样才能避免符号位与其他位的混淆。
所以,只要知道每个数值的位数,就可以找到符号位,它应是最左边的那一位。如果符号位是0,该数值就是正的;如果它是1,该数值就是负的。