鱼C论坛

 找回密码
 立即注册
查看: 1764|回复: 10

[已解决]为什么等于十?

[复制链接]
发表于 2020-6-12 20:15:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
x = 0b1010
print(x)




为什么等于十?求解释过程
最佳答案
2020-11-2 15:22:55
本帖最后由 一抹心尘 于 2020-11-2 15:24 编辑

因为它就是10,只不过不是我们日常生活中熟悉的那种写法,
我们平常生活中,认为10它才是10,实际上是我们采用了10进制,从0开始,满10 进1 ,那么0123456789  10 我满了一个以后自然往前进1 ,那么在10进制
的写法中它(10)自然就是10.
可是还有很多进制,不只是有10进制。
比如我们计算机中最常见的二进制,顾名思义,满2 进1.
1010 这其实就是一种2进制写法,我现在把它给你还原,换算成10进制,第4位0 ,那就是0 , 第3位 1 由第4位满2进1 而来, 那就是2 , 第2位0 ,那就是0 ,
第1位,为1 它由 第4位满2进1 到第3位,再满2进1 到第2位,再满2进1 到第1位,每次是2 ,则换算成 10进制 ,即为2x2x2  进了几次 就是2的几次幂 这里是3次
那就是2的3次幂,为8 。
第1位1为8 ,第二位 0 为0 第 3 位 1 为 2 第 4 位 0 就是0 ,把他们相加 8 + 0 + 2 + 0 = 10 ,那可不就是10 嘛。
当然,你可能会问前面0b呢?那就是表示2进制,告诉你这里用2进制,没了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-12 20:18:09 | 显示全部楼层
这个就是二进制嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 20:23:54 | 显示全部楼层
8-->2: 0b1010
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 20:58:12 From FishC Mobile | 显示全部楼层
本帖最后由 hrp 于 2020-6-12 21:05 编辑

这就是10的二进制写法,0b1010(10的二进制写法)==0o12(10的八进制写法)==0xa(10的16进制写法)==10(10的10进制写法),而shell默认是以10进制显示数字的,所以不管你打多少进制上去,它都是以10进制显示出来。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 21:03:27 | 显示全部楼层

字符串前面 0b开头的是二进制意思,你可以调用Python 函数 bin() 将 10 转为二进制看看
  1. bin(10)
  2. >>> '0b1010'
复制代码


还有一些字符串前面: 0o 代表八进制前缀  0x 表示十六进制前缀
bin()函数,将十进制转换为二进制  返回0b前缀的字符串
oct()函数,将十进制转换为八进制  返回0o前缀的字符串
hex()函数,将十进制转换为十六进制  返回0x前缀的字符串


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 22:03:32 | 显示全部楼层
0b开头的数是二进制
0b1010转换为十进制是10
所有打印10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-12 22:33:47 | 显示全部楼层
本帖最后由 萌新1 于 2020-6-12 22:35 编辑

abcd从右往左数分别为0123
abcd=d*2**0 +c*2**1 +b*2**2 +a*2**3
1010 = 0 *2**0 +1*2**1 +0*2**2 + 1*2**3 =10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-24 14:48:42 | 显示全部楼层
这是二进制,前面Ob表示二进制,1010就是二进制的数,1010就不用我多说了吧,就是10进制里的10吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-24 15:25:49 | 显示全部楼层
二进制 1 = 1, 2 = 10, 3 = 11 , 4 = 100 ,5 = 101,6=110,
7 = 111 , 8 = 1000 , 9 = 1001 ,  10 = 1010。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-7-31 19:54:15 | 显示全部楼层
在python中0b开头表示二进制,二进制1010是十进制的10
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-11-2 15:22:55 | 显示全部楼层    本楼为最佳答案   
本帖最后由 一抹心尘 于 2020-11-2 15:24 编辑

因为它就是10,只不过不是我们日常生活中熟悉的那种写法,
我们平常生活中,认为10它才是10,实际上是我们采用了10进制,从0开始,满10 进1 ,那么0123456789  10 我满了一个以后自然往前进1 ,那么在10进制
的写法中它(10)自然就是10.
可是还有很多进制,不只是有10进制。
比如我们计算机中最常见的二进制,顾名思义,满2 进1.
1010 这其实就是一种2进制写法,我现在把它给你还原,换算成10进制,第4位0 ,那就是0 , 第3位 1 由第4位满2进1 而来, 那就是2 , 第2位0 ,那就是0 ,
第1位,为1 它由 第4位满2进1 到第3位,再满2进1 到第2位,再满2进1 到第1位,每次是2 ,则换算成 10进制 ,即为2x2x2  进了几次 就是2的几次幂 这里是3次
那就是2的3次幂,为8 。
第1位1为8 ,第二位 0 为0 第 3 位 1 为 2 第 4 位 0 就是0 ,把他们相加 8 + 0 + 2 + 0 = 10 ,那可不就是10 嘛。
当然,你可能会问前面0b呢?那就是表示2进制,告诉你这里用2进制,没了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-11 03:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表