Java教程

各进制之间的关联 --计数制de基本要素:基数和位权 (2进制,10进制,8进制,16进制)

本文主要是介绍各进制之间的关联 --计数制de基本要素:基数和位权 (2进制,10进制,8进制,16进制),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

二进制,十进制,八进制,十六进制

  • 1. 什么是计数制
  • 2. 基本要素
    • 2.1. 什么是基数
    • 2.2. 什么是位权
    • 2.3. 位权需要基数来表示
    • 2.4. 二进制转换位十进制
    • 2.5. 十进制转换位二进制
    • 2.6. 十进制转换位八进制
    • 2.7. 十进制转换位十六进制

1. 什么是计数制

计数制,也称为“数制”,是用一组固定的符号和统一的规则来表示数值的方法。
即:计数体制,是指人们进行计数的方法和规则。
比如:计算机用的二进制
人们生活中用的最多的十进制
在历史上,中国曾经在重量单位上使用过16进制
即:一斤合十六两,半斤等于八两,成语“半斤八两”就比喻彼此一样,不相上下(多含贬义)。

2. 基本要素

任何一种数制都包含两个基本要素:基数和位权。

2.1. 什么是基数

基数:可以理解成 基础数集,是一个集合。所有的数都是由这些集合中的数字排列组合成的。
计数时,每一位上的数值最多可以有n种可能。
比如,十进制的每一位有10种表达方式。即:0,1,2,3,4,5,6,7,8,9。再往后就满10了,这时候要向高一位进1。
也就是人们常说的满十进一,或者叫 逢十进一。即低位满十则向相邻高位进1。
相邻高低位上数值一样时,高位上数值是低位的10倍。

二进制逢二进一,基数为2,包含0,1两个数值。
八进制逢八进一,基数为8,包含0,1,2,3,4,5,6,7,一共8个。
逢十六进一十六进制。基数为16,包含 0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15),一共16个。
基数:顾名思义,几进制,基数就是几;几进制,就 满几进一

十进制,二进制,八进制,十六进制之间各数的对应关系:
进制之间的对应关系

2.2. 什么是位权

位权:位:位置;权:权重。是指数制中每一固定位置对应的单位值。
通俗讲 就是一个数在不同位置上代表的数值的大小多少?
例如:个位上的“1”,就表示1,而十位上的“1”,表示的确实 10个1。

例如:十进制数 598,5 代表 5 * 102,9代表 9*101,8代表 8 100
598 = 5 * 102 + 9
101 + 8 *100 = 500 + 90 + 8 。
以图为例:
十进制表示法-(基数和位权)

2.3. 位权需要基数来表示

怎么用基数位权计数的方法和规则表示出来呢?
以二进制的一个数(01001011)为例:
二进制表示法-(基数和位权)
位权的表示:以基数2为底,从右向左,由低到高,该基数的次幂从0开始,依次向左加一

2.4. 二进制转换位十进制

那上面这个二进制数(01001011)转换为十进制该怎么算呢?

0 * 27 + 1 * 26 + 0 * 25 + 0 * 24 + 1 * 23 + 0 * 22 + 1* 21 + 1 * 20
= 0 * 128 + 1 * 64 + 0 * 32 + 0 * 16 + 1 * 8 + 0 * 4 + 1* 2 + 1* 1
= 0 + 64 + 0 + 0 + 8 + 0 + 2 + 1
= 64 + 8 + 2 + 1
= 75

2.5. 十进制转换位二进制

将十进制数 75 转换为二进制表示:
十进制转二进制图解
将75除2,一直除直商为0,将余数倒置,即得到二进制数 1001011。最高位补0,得到8位的二进制数,即为01001011.
为什么要将所有余数倒置?
所有进制中最低位,即右起第一位的权重都是 基数的0次幂,所有数值的0次幂都是1。
十进制转化为二进制,
即用十进制75除2,第一次除2,得到的余数1,权重是2的0次幂;代表1* 20 = 1.
用所得的商37,再去除2,得到的余数1,权重是2的1次幂;代表 1* 21 = 2.
用所得的商18,再去除2,得到的余数0,权重是2的2次幂;代表 0* 22 = 0.
用所得的商9,再去除2,得到的余数1,权重是2的3次幂;代表 1* 23 = 8.
用所得的商4,再去除2,得到的余数0,权重是2的4次幂;代表 0* 24 = 0.
用所得的商2,再去除2,得到的余数0,权重是2的5次幂;代表 0* 25 = 0.
用所得的商1,再去除2,得到的余数1,权重是2的6次幂;代表 1* 26 = 64.
到这里商已为0,除法结束。
将每次除的余数代表的十进制数值相加:
1 + 2 + 0 + 8 + 0 + 0 + 64 = 75

2.6. 十进制转换位八进制

同理,将十进制数转换成八进制也可以用此法
将十进制数 75 转换为八 进制表示:
十进制转八进制图解
将75除8,一直除直商为0,将余数倒置,即得到八进制数 113。
为什么要将所有余数倒置?
所有进制中最低位,即右起第一位的权重都是 基数的0次幂,所有数值的0次幂都是1。
十进制转化为八进制,
即用十进制75除8,第一次除8,得到的余数3,权重是8的0次幂;代表3* 80 = 3.
用所得的商9,再去除8,得到的余数1,权重是8的1次幂;代表 1* 81 = 8.
用所得的商1,再去除8,得到的余数1,权重是8的2次幂;代表 1* 82 = 64.
到这里商已为0,除法结束。
将每次除的余数代表的十进制数值相加:
3 + 8 + 64 = 75

2.7. 十进制转换位十六进制

同上吧!

这篇关于各进制之间的关联 --计数制de基本要素:基数和位权 (2进制,10进制,8进制,16进制)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!