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

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 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的值是相同的。
通过这种除法计算余数再倒排的方法,可以方便地实现十进制到二进制的转换。练习多做几个例子就可以很熟练了。

目录
相关文章
|
3月前
|
存储
leetcode:504. 七进制数
leetcode:504. 七进制数
16 0
|
4月前
统计两个整数所对应的二进制数中的不同位数的个数
统计两个整数所对应的二进制数中的不同位数的个数
20 0
|
11月前
求一个数的二进制位中1的个数
求一个数的二进制位中1的个数
|
人工智能
进制数转换知识点总结
二进制和十六进制 用0和1表示各种信息 计算机的电路由逻辑门电路组成。一个逻辑门电路可以看成一个开关,每个开关的状态是“开"(高电位)或“关”(低电位),即对应于1或0
123 0
BigDecimal 比较大小及保留两位及取非负数
BigDecimal 比较大小及保留两位及取非负数
61 0
求两个数二进制中不同位的个数
题目内容:两个int(32)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子: 7
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
122 0
一种基于质数(2、3、5、7、11…)的变进制数,第一位为2进制,第二位为3进制,第三位为5进制,以此类推。请将该变进制数转化为十进制数。
打印0~100000之间的水仙花数, 水仙花数指一个n位数,其各位数的n次方之和正好等于该数本身
打印0~100000之间的水仙花数, 水仙花数指一个n位数,其各位数的n次方之和正好等于该数本身
84 0
018.任意进制数的转换
018.任意进制数的转换
66 0