Java教程

[计算机基础]计算机的进制

本文主要是介绍[计算机基础]计算机的进制,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

进制

信息在现实世界中无处不在,表现形式有数字、字母、符号、图标、图像、声音等。然而,任何形式的信息都可以转换为二进制被计算机直接处理。在计算机内部无论是存储数据还是进行数据运算,一律采用二进制

为什么计算机要采用二进制呢?原因如下:

  1. 二进制在电器元件最容易实现,而且稳定、可靠,二进制只要求识别 0 和 1 两个符号,计算机就是利用电路输出电压的高或低分别表示数字 “1” 和 “0” 的。
  2. 二进制的运算法则简单,可以简化硬件结构。
  3. 二进制的逻辑运算简单,逻辑值只有两个 “0” 和 “1”。这里的 “0” 和 “1” 并不是表示数值,而是代表问题的结果有两种可能:真或假、正确或错误。

人们在生产时间和日常生活中,创造了各种表示数的方法,这种数的表示系统称为数制。常见的数制有六十进制、十六进制、十进制、八进制、二进制。现在时间的数制就是六十进制。平常用得最多的就是十进制,而计算机内部使用的是二进制,有时候编程还要用到八进制和十六进制,通常颜色的值可以被表示为十六进制。

基数与位权

十进制每位数允许使用的是 0、1、2、3、4、5、6、7、8、9 十个数字符号中的一个,所以基数为 10。二进制每位数允许使用的是 0、1 两个数字符号中的一个,所以基数为 2。

也就是说,某种进制允许使用的数字符号有多少个,其基数就是多少

无论什么进制,都可以用下面的规律进行表示:

每个数位上的数字所表示的数值等于该数字乘以位权。位权是以基数为底,以数字所在位置的序号为指数的整数幂

如上图所示,二进制 01.1,用上述所说的表示法进行表示:

\[01.1=0×2^1+1×2^0+1×2^-1 \]

比如,十进制 886.88,用上述所说的表示法进行表示:

\[886.88=9×10^2+8×10^1+6×10^0+7×10^-1+8×10^-2 \]

进制转换

其他进制转为十进制

其他进制转换为十进制非常简单,只需要按位权展开然后求和,就可以把其他进制的数转换为十进制。

将二进制数 1001 转换为十进制数:\(1001=1×2^3+0×2^2+0×2^1+1×2^0=9\)

将八进制数 35 转换为十进制数:\(35=3×8^1+5×8^0=29\)

将十六进制数 32CF 转换为十进制数:\(32CF=3×16^3+2×16^2+12×16^1+15×16^0=13007\)

十六进制第十一个数字字符为 A,第十六个数字字符为 F,中间依次顺序是 B、C、D、E,分别代表数字 11、12、13、14。

十进制转为其他进制

其他进制用 R 字母来代表,可以代表六、八、十六等进制。

如果将十进制的数转换为 R 进制的数,可以将十进制的整数部分和小数部分分离开来,然后按照下列规则转换:

  1. 十进制整数化为 R 进制数:除 R 取余法,得 R 进制整数。
  2. 十进制纯小数化为 R 进制数:乘 R 取整法,得 R 进制纯小数。

下面,将示范十进制转换为 R 进制的案例:

1、将 237.8125 转换为二进制数

(1) 对整数进行转换,237 除 2 的余数

从低往上依次填写的余数就是二进制的整数部分,即 11101101。

(2) 对小数部分进行转换,0.8125 乘 2 取整

\(0.8125×2=1.625\) …… 整数部分为 1

\(0.625×2=1.25\) …… 整数部分为 1

\(0.25×2=0.5\) …… 整数部分为 0

\(0.5×2=1\) …… 整数部分为 1

从高往下依次填写的整数就是二进制的小数部分,即 0.1101。

经过计算器的验算,以上步骤结果正确,237.8125 的二进制数为 11101101.1101。

2、将 58506.8125 转换为八进制数

(1) 对整数部分进行转换,58506 除 8 的余数

从低往上依次填写的余数就是八进制的整数部分,即 162212。

(2) 对小数部分进行转换,0.8125 乘 8 取整

从高往下依次填写的整数就是二进制的小数部分,即 0.64。

经过计算器的验算,以上步骤结果正确,58506.8125 的八进制数为 162212.64。

这篇关于[计算机基础]计算机的进制的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!