python的bin函数问题
大家好。我来寻求一下帮助。关于PYTHON的。如图所示,是我操作的不对吗?为什么 256 512 1024 这些 十进制数字,转换2进制 就是错误的。?
\兄弟,学习python好歹下个pycharm啊。。 你打开计算器调到程序员模式,输入十进制,对比二进制的结果不就知道了嘛? 海是倒过来的天 发表于 2023-3-18 21:28
\兄弟,学习python好歹下个pycharm啊。。
我用pycham也是这个结果,前面不补0.我用这个IDE是让你们看下PYTHON版本。{:1_936:} 没错哇,十进制512转二进制就是1000000000哇 本帖最后由 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
一点错都没有。。。二进制没学好哈{:1_908:} ligxi 发表于 2023-3-18 21:42
一点错都没有。。。二进制没学好哈
大佬 看7楼 我的实际需求。哈哈 bilibini 发表于 2023-3-18 21:35
没错哇,十进制512转二进制就是1000000000哇
因为我这是个作业。需要用我7楼那个思路,解决。
或者有啥专业解决办法,也行。但是我交作业必须这个思路。用字符串 找 对应 1的位置。。{:1_907:} 输入一个十进制数值
输出一个二进制
bin()函数没有问题
258 是 0001 0000 0010
9 2
如果想要输出这样的2^(2-1) + 2^(9-1),应该用位运算符,再套个循环