【技术分享】2进制数&10进制数&16进制数-Part 1

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
全球加速 GA,每月750个小时 15CU
私网连接 PrivateLink,5万GB流量 1.5万小时实例时长
简介: 3月技术分享-1

【技术分享】2进制数&10进制数&16进制数-Part 1
★在计算机中使用的二进制数
人们日常使用的数字是十进制数,但计算机在内部表示数字时使用的是二进制。
但是,只有“0”和“1”的二进制数对人来说不太容易理解,所以在人能看到的地方,计算机会把二进制数转换成十进制数或十六进制数来表示。
这里我们来学习这些转换方法。

★二进制数
二进制数是使用“0”和“1”这两种数字来表示所有的数的。
在十进制中,数到“9”之后就会进位,但在二进制中,“1”之后就会进位。
进位之后,新的那一位会变成“1”,它以下的所有位都会变成“0”。让我们来看看二进制数的值是如何增加的。

2进制数 0→1→10→11→100→101→110→111→1000

顺便说一下,表示二进制数时,通常是每8位作为一个单位,所以如果不足8位就在前面加0。
也就是说,上面的二进制数值应该表示成:00000000 → 00000001 → 00000010 → 00000011 → 00000100 → 00000101 → 00000110 → 00000111 → 00001000。
下面是二进制数和十进制数的对应表。
image.png

★从二进制转换成十进制的方法
十进制数和二进制数的对应关系如下。
当二进制数的位数增加时,十进制值按照以下规律变化:
image.png
是的,通过把二进制数中“1”所在位数对应的上述十进制基准值相加,就可以得到二进制数对应的十进制值。
例如,要把二进制数 “00101010” 转换成十进制,注意它在从右向左数的第6位、第4位和第2位上为“1”,对应的十进制基准值分别是32、8和2。
如下图所示,二进制数“00101010”对应的十进制数就是32 + 8 + 2 = 42。

所以“00101010”的十进制数是42。

image.png

★ 从十进制转换成二进制的方法
可以通过反复对十进制数字进行“2”的除法,直到商为0,然后把每一步的余数倒过来连接起来,就可以得到该十进制数的二进制表示。
让我们来具体看些转换的例子。
image.png

举了十进制160除2转换成二进制的详细例子。
将十进制160反复除以2,得到的余数从下往上排列就是二进制的10100000。
在网络中,通常会将二进制数用8位数表示,所以需要在高位补0,把10110转换成八位的00010110。当然,00010110和原来的10110的值是相同的。
通过这种除法计算余数再倒排的方法,可以方便地实现十进制到二进制的转换。练习多做几个例子就可以很熟练了。

目录
相关文章
|
8天前
二进制数从0开始的前几个数
二进制数从0开始的前几个数:
35 0
|
5月前
1022 D进制的A+B (20 分)
1022 D进制的A+B (20 分)
|
6月前
|
C语言
每天一道C语言编程(2^k进制数)
每天一道C语言编程(2^k进制数)
31 0
|
6月前
进制转换(m 进制 x 转换为 n 进制的数)
进制转换(m 进制 x 转换为 n 进制的数)
|
6月前
|
存储
leetcode:504. 七进制数
leetcode:504. 七进制数
33 0
|
人工智能
进制数转换知识点总结
二进制和十六进制 用0和1表示各种信息 计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0
155 0
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
170 0
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
求两个数二进制中不同位的个数
题目内容:两个int(32)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子: 7
打印0~100000之间的水仙花数, 水仙花数指一个n位数,其各位数的n次方之和正好等于该数本身
打印0~100000之间的水仙花数, 水仙花数指一个n位数,其各位数的n次方之和正好等于该数本身
105 0