user999 发表于 2023-3-18 21:08

python的bin函数问题

大家好。我来寻求一下帮助。关于PYTHON的。

如图所示,是我操作的不对吗?为什么 256 512 1024 这些 十进制数字,转换2进制 就是错误的。?

海是倒过来的天 发表于 2023-3-18 21:28

\兄弟,学习python好歹下个pycharm啊。。

jiangmikim 发表于 2023-3-18 21:29

你打开计算器调到程序员模式,输入十进制,对比二进制的结果不就知道了嘛?

user999 发表于 2023-3-18 21:34

海是倒过来的天 发表于 2023-3-18 21:28
\兄弟,学习python好歹下个pycharm啊。。

我用pycham也是这个结果,前面不补0.我用这个IDE是让你们看下PYTHON版本。{:1_936:}

bilibini 发表于 2023-3-18 21:35

没错哇,十进制512转二进制就是1000000000哇

user999 发表于 2023-3-18 21:40

本帖最后由 user999 于 2023-3-18 21:48 编辑

jiangmikim 发表于 2023-3-18 21:29
你打开计算器调到程序员模式,输入十进制,对比二进制的结果不就知道了嘛?
我知道是不补0的问题。
但是,那个zfill怎么自动判断多少位呢?

256 0001 0000 0000

512 0010 0000 0000

8196 0010 0000 0000 0100

我这里需求要一直用到
bin(2147483648) 1000 0000 0000 0000 0000 0000 0000 0000

我其实 需求 是这样的:

2 4 8 16 32 64 128 这样的规律数字

比如有个10进制 的 258,实际他是 2 +256 我要通过 258 求出来 他是 2+256 。。

我现在是用 BIN(X) 然后 变成字符串,从右边开始 数第几位是 1,然后 对应的位数 进行 2**

比如258 是 0001 0000 0010
                           9            2
就是 2 **2-1 + 2**9-1

ligxi 发表于 2023-3-18 21:42

一点错都没有。。。二进制没学好哈{:1_908:}

user999 发表于 2023-3-18 21:44

ligxi 发表于 2023-3-18 21:42
一点错都没有。。。二进制没学好哈

大佬 看7楼 我的实际需求。哈哈

user999 发表于 2023-3-18 21:54

bilibini 发表于 2023-3-18 21:35
没错哇,十进制512转二进制就是1000000000哇

因为我这是个作业。需要用我7楼那个思路,解决。
或者有啥专业解决办法,也行。但是我交作业必须这个思路。用字符串 找 对应 1的位置。。{:1_907:}

answdl 发表于 2023-3-18 22:00

输入一个十进制数值
输出一个二进制
bin()函数没有问题

258 是 0001 0000 0010
               9            2
如果想要输出这样的2^(2-1) + 2^(9-1),应该用位运算符,再套个循环
页: [1] 2 3
查看完整版本: python的bin函数问题