进制数转换知识点总结

简介: 二进制和十六进制用0和1表示各种信息计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0

11.png二进制和十六进制


用0和1表示各种信息


计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0


课程推荐 【【计算机科学速成课】[40集全/精校] - Crash Course Computer Science】 https://www.bilibili.com/video/BV1EW411u7th/?share_source=copy_web&vd_source=3b2cc08efb537592debc1e358b5d787f


 计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0


 二进制数的一位,取值只能是0或1,称为一个“比特”(bit),简写:b


计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0


 二进制数的一位,取值只能是0或1,称为一个“比特”(bit),简写:b


 八个二进制位称为一个“字节”(byte),简写: B


 计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0


 二进制数的一位,取值只能是0或1,称为一个“比特”(bit),简写:b


 八个二进制位称为一个“字节”(byte),简写: B


 1024(210)字节称为1KB ,1024KB称作1MB(1兆),


1024MB称作1GB,


1024GB称作1TB。


用0和1表示各种信息


 0和1足以表示和传播各种信息。


比如, 用8个连续的0或1(即1个字节)来表示一个字母、数字或标点符号


,比如用“00100000”表示空格,用“01100001”表示字母“a”,用


“01100010”表示字母“b”,用“01100011”表示字母“c”……。由8个


0或者1的组成的串,一共有28即256种不同的组合,这就足以表示10个阿拉伯数字以及英语中用到的所有字母和标点符号了。此即为ASCII编码方案。


 图片、视频和可执行程序,也可以用0和1表示


给定一个K进制数


给定一个K进制数,求它是多大


假设有一个n+1位的K进制数,它的形式如下:


AnAn-1An-2。。。。。。A2A1A0 (比如 八进制数 1723)

则其大小为:


A0×K0 + A1×K1 + ……+ An-1×Kn-1+ An×Kn


数就是数,没有进制之分,只有数的表示形式,才有进制之分。

所谓“十进制数”,是“数的十进制表示形式" 的简称。



给定一个数,求其K进制表示形式

10

 求数的K进制表示形式 -- 短除法

给定一个整数N和进制K,那么N可表示成以下形式:

N = A0×K0+A1×K1+A2×K2+……+An-1×Kn-1+An×Kn

= A0 +K (A1 +A2×K1+……+An-1×Kn-2+An×Kn-1

)

N除以K所得到的余数是A0,商是A1+A2×K1+……+An-1×Kn-2+An×Kn-1。将这个商再除

以K,就得到余数A1,新的商是

A2 + A3×K1+……+An-1×Kn-3+An×Kn-2

不停地将新得到的商除以K,直到商变成0,就能依次求得A0 、A1、 A2 …… An-1 、An

。显然,Ai <K ( i = 0…n),且最终得到的K进制数就是:

AnAn-1An-2。。。。。。A2A1A0



K进制小数

11

K进制小数 0.A0A1……An的值是:

A0×K-1+A1×K-2+……+An×K-(n+1)

(0.12)10 = 1 ×10-1 + 2 ×10-2

(0.1)3 = 1 ×3

-1 即1/3, 表示成10进制就是无限循环小数

可见,n进制下的有限位小数,在m进制下可能就无法精确表示,因为会无限

循环

十进制有限位小数,在二进制的情况未必能用有限位数表示出来。计算机内

存有限,不可能存放无限位,因此计算机的小数运算会有误差。比如,计算

机其实无法精确表示 4.9,只能精确表示4.899999999...之类一个很接近的数


十六进制数


十六进制数应该有16个数字,除0到9外:


A 10


B 11


C 12


D 13


E 14


F 15


小写也可以

12.png13.png



目录
相关文章
|
3月前
|
C语言
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
这篇文章展示了如何使用栈(包括顺序栈和链栈)实现将十进制数值转换成八进制数值的方法,通过C语言编程演示了两种栈的实现方式和使用场景。
用栈实现将一个十进制数值转换成八进制数值。即用该十进制数值除以8,并保留其余数;重复此操作,直到该十进制数值为0为止。最后将所有的余数反向输出就是所对应的八进制数值
|
6月前
进制转换(m 进制 x 转换为 n 进制的数)
进制转换(m 进制 x 转换为 n 进制的数)
|
6月前
|
Java
Java实现十进制到各种进制的转换
这段代码可以让用户输入一个十进制数,然后将其转换为二进制、八进制和十六进制表示。实现了基本的转换功能,满足你的要求。
62 0
|
6月前
面试题 05.06:整数转换
面试题 05.06:整数转换
30 0
十进制转二进制的方法 + 写代码实现[C/C++]
整数十进制转二进制转换方法 + 如何用代码实现为主要内容 方法1:除二取余法 十进制数除2得商取余法:对十进制进行除法运算,十进制除以2可以得到一个商和余数 方法2:按权相加法 ......
656 1
|
C++
【C++知识点】浮点数据的输出控制
【C++知识点】浮点数据的输出控制
113 0
进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】
进制转换(二进制,八进制,十进制,十六进制)涵盖整数与小数部分,内容的图片全为手写【详细图解】
【c++】关于数值进制以及进制之间转化
【c++】关于数值进制以及进制之间转化
196 0
【c++】关于数值进制以及进制之间转化