精华内容
下载资源
问答
  • 我正在尝试将每个1/0的二进制值转换为列表,但是我得到默认的二进制值而不是列表.我有一个字符串,我将每个字符转换为二进制,它为我提供了一个列表,其中包含每个字符的字符串.现在,我试图将每个字符串拆分为值0/1的...

    我正在尝试将每个1/0的二进制值转换为列表,但是我得到默认的二进制值而不是列表.

    我有一个字符串,我将每个字符转换为二进制,它为我提供了一个列表,其中包含每个字符的字符串.现在,我试图将每个字符串拆分为值0/1的整数,但是我什么也没得到.

    # if message = "CC"

    message="CC"

    # just a debug thing

    for c in message:

    asci = ord(c)

    bin = int("{0:b}".format(asci))

    print >> sys.stderr, "For %c, asci is %d and bin is %d" %(c,asci,bin)

    c = ["{0:b}".format(ord(c)) for c in message]

    # c = ['1000011', '1000011']

    bin = [int(c) for c in c]

    #bin should be [1,0,0,0,0,1,1,1,0,0,0,0,1,1]

    # but I get [1000011, 1000011]

    print >> sys.stderr, bin

    解决方法:

    如果您有这个:

    c = ['1000011', '1000011']

    您想要实现以下目标:

    [1,0,0,0,0,1,1,1,0,0,0,0,1,1]

    你可以做:

    modified_list=[int(i) for element in c for i in element]

    或者您可以使用itertools.chain

    from itertools import chain

    modified_list=list(chain(*c))

    当您想同时加入列表理解功能时,可以这样进行:

    bin= list( chain( *["{0:b}".format(ord(c)) for c in message] )

    标签:python,string,list,binary,list-comprehension

    来源: https://codeday.me/bug/20191013/1905126.html

    展开全文
  • I have the following scenario:x = 0b0111I would like to convert this value to:y = [0, 1, 1, 1]When I convert x = 0b1001, I can get y = [1, 0, 0, 1], but when I try to do the same for x = 0b0111, and t...

    I have the following scenario:

    x = 0b0111

    I would like to convert this value to:

    y = [0, 1, 1, 1]

    When I convert x = 0b1001, I can get y = [1, 0, 0, 1], but when I try to do the same for x = 0b0111, and then convert back with str(bin(y)) - I seem to lose the leading 0, and get 0b111.

    Any suggestions?

    解决方案

    Once you get that string 0b111, it's straightforward to split out the digits that you're interested in. For each character of everything after the 0b in the string, convert it to an integer.

    [int(d) for d in str(bin(x))[2:]]

    展开全文
  • 我必须做一个转换器,将二进制数(以列表的形式,例如:[1,0,1,0,0,1])转换为十进制数。 我必须使用Python编写此程序。 该函数具有一个存储二进制值的列表作为参数,该列表名为l 怎么运行的 ? def convert ( l ...
  • #Python# 十进制数转换为二进制数(包含小数)问题描述问题分析代码 问题描述 编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串。对于转换得到的二进制...

    #Python# 十进制数转换为二进制数(包含小数)

    问题描述

    编写程序,输入十进制小数(只考虑正数),把它转换为以字符串形式存储的二进制小数,输出该二进制小数字符串。对于转换得到的二进制小数,小数点后最多保留10位。小数点后不足10位,则输出这些位,尾部不补0;小数点后超出10位,则直接舍弃超出部分。十进制转换成二进制时,需要将整数和小数部分分开。整数部分的策略是除2取余,而小数部分的策略是乘2取整,分别转换后再将整数和小数部分合起来。不清楚的同学自己上网查阅相关资料。

    本题需要编写2个函数,分别对应整数和小数部分的转换过程。

    问题分析

    拆分问题为:
    (1)整数部分转换为二进制;
    (2)小数部分转化为二进制;
    (3)将整数部分与小数部分组合并输出。
    问题(1):构造函数conInt(),将整数部分除2取余存入列表中,后逆序列表再合并为字符串返回;
    问题(2):构造函数conFra(),将小数部分乘2取整存入列表篇中,后合并为字符串返回。需注意的是遇到无限乘2取整的十进制小数时,应舍0入1。
    问题(3):使用print(f"{a},{b}")的句式,将字符串组合输出

    代码

    def conInt(n):
        s=[]
        while(n):
            s.append(str(n%2))
            n=n//2
        s.reverse()
        return "".join(s)
    
    def conFra(n):
        x=[]
        s=[]
        while(n):
            n=n*2
            x.append(str(int(n)))
            n=n-int(n)
        for i in range(0,10):
            s.append(x[i])
        return "".join(s)
    
    
    def main():
        n=eval(input())
        a=int(n)
        b=n-a
        print(f"{conInt(a)}.{conFra(b)}")
    
    main()
    
    
    展开全文
  • 题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。...举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成了1,...

    题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

    分析:如果一个整数不为0,那么这个整数至少有一位是1。如果我们把这个整数减1,那么原来处在整数最右边的1就会变为0,原来在1后面的所有的0都会变成1(如果最右边的1后面还有0的话)。其余所有位将不会受到影响。

    举个例子:一个二进制数1100,从右边数起第三位是处于最右边的一个1。减去1后,第三位变成0,它后面的两位0变成了1,而前面的1保持不变,因此得到的结果是1011.我们发现减1的结果是把最右边的一个1开始的所有位都取反了。这个时候如果我们再把原来的整数和减去1之后的结果做与运算,从原来整数最右边一个1那一位开始所有位都会变成0。如1100&1011=1000.也就是说,把一个整数减去1,再和原整数做与运算,会把该整数最右边一个1变成0.那么一个整数的二进制有多少个1,就可以进行多少次这样的操作。

    特别的,python中首先明确一点就是二进制没有位数的概念,所以也就无法获得负数真实表示方法。对于负数,无论是右移操作,还是n&(n-1)操作,都会陷入死循环。所以利用0xffffffff这个小技巧,将负数变为python认为的正数(与机器中的补码相同)。然后利用正数来进行操作就简单了。

    原码:正数按照绝对值大小转换成的二进制数,负数按照绝对值大小转换成二进制数后最高位补1

    反码:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反

    补码:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1

    class Solution:

    def NumberOf1(self, n):

    if n < 0:

    n = n & 0xffffffff

    count = 0

    while n:

    n = n & (n - 1)

    count += 1

    return count

    展开全文
  • def ten_to_two(y): list_two=[] while y>=1: ... list_two.reverse() #反转列表元素 print(list_two) ten_to_two(100000) 数学原理:例如转化10 10/2=5.......0 5/2=2.........1 2/.
  • Python将二进制数按位存进列表List

    千次阅读 2019-06-16 17:11:48
    为了与其他列表在索引上的使用相同,我就想写一个函数将整数转化成二进制数,再将二进制数按位存入到列表中 代码如下: # 算法采用的是移位(除2)取余的思想 # 此处不使用自带的bin()函数是因为bin()返回的是字符...
  • 1068: 二进制数-python

    2020-10-28 16:22:48
    1068: 二进制数-python 题目描述: 将一个二进制数,转换为对应的十进制数。 输入 输入一个二进制数,以回车结束。该二进制数为正数,长度不超过31。 输出 输出一个整数,为该二进制数对应的十进制数。 样例输入 ...
  • 关于一个数的表示,我们常用的是十进制(人一般有十根手指嘛),另外也可以通过二进制、八进制、十六进制等表示数(可以相互转换),而计算机存储数...这里整理下数的表示方法,以及二进制数的运算。 参考文章: h...
  • 注:bin(数字) 可以把数字转化为2进制 >>> bin(50) '0b110010' (0b不用管) 我的方法:  def ct2(a): int(a) s='' while(a//2!=0): haha=a%2 s=s+str(haha) a=a//2 s=s+str(a%2) tmp=len(s)-1 ss=...
  • 需求:当我们读取一个文件之后,将里面的内容转变为二进制列表。 用处:在python中可以将二进制列表用于随机数检测 代码展示: import sys ''' 将一个文件变成二进制列表 filename:文件名 bigendian:True表示高位...
  • 十进制小数转二进制matlab代码二进制和十进制转换器 此代码受MATLAB代码启发,可用于生成二进制矩阵。 对于遗传算法和其他用途很有用。 MATLAB代码是2020年2月29日检索的Zacharias Voulgaris(2020)对二进制和十...
  • 32位的整数的二进制数表示有多少个1?
  • 利用栈的思想将一个非负的的十进制数转换为一个二进制数 2.代码实现 class SequenceStack(object): # 初始化栈函数 def __init__(self): self.Max = 10000 self.s = [None for x in range(0, self.Max)] ...
  • Topic 小明要用二进制来表示 1 到 10000 的所有整数 要求不同的整数用不同的二进制数表示, ...之后将二进制数转换为列表的形式 并添加到列表res中 最后通过计算res的长度即是 Code res = [] for a in
  • 求一个byte数字对应的二进制数字中1的最大连续,例如3的二进制为00000011,最大连续2个1。 输入描述: 输入一个byte数字 输出描述: 输出转成二进制之后连续1的个数 示例1 输入 3 5 输出 2 1 说明 3的二进制表示是11...
  • 浏览复试题时,出现了读取“保存了20000个数据的二进制文件”的题,因为手头没有相应的模拟资源,故自己随机生成了10000个数据,以二进制的形式保存并生成文件,读取并完成题目后续操作。 将10000个数据保存为二进制...
  • 在python中,实现了组合函数combinations 和排列函数permutations。两个函数都在itertools包中。 比如用permutations函数可以得到一个列表所有元素的全排列。...但是,有时候想得到N位二进制数的全排列,比如3...
  • 二进制加密算法

    2020-08-31 16:13:33
    二进制数除了0和1的表示方法外,在由二进制转换成十进制的时候,还可以表示成2的N次方的形式。并且我们发现,任意的十进制数都可以用2n+2m+……的形式表示出来,可以表示的单元数由使用的max n来决定。 可表示的单元...
  • MAP ADT实施总结   在过去的两章中,我们研究...对列表、哈希表、二进制搜索树和平衡二进制搜索树的二进制搜索。为了结束本节,让我们总结一下map adt定义的关键操作的每个数据结构的性能(参见表1)。    ...
  • 四:二进制与补码二进制: 数码:0,1基数:2二进制数的权展开式:(101.01) = 1*2²+0*2¹+1*2⁰+0*2⁻¹+1*2⁻²十进制转化为二进制: 除以二逆向取余法十进制转化为二进制(小数):乘以二顺向取整法在汇编中,在...
  • 小白自学python的编程之路——实现进制数转换 十进制转二进制(整数) 直接上代码,很简单,一些小注意地方我标注了 c=[] a=input("请输入十进制数字:") ...print(c) # 这里注意二进制是逆序 ,得对列表重新排序
  • 1.输入一个十进制数转换成二进制数,输出二进制中有几个1? import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int...
  • 二进制

    2021-01-31 15:08:52
    按权相加: 把二进制数首先写成加权系数展开式, 然后按十进制加法规则求和 十进制转二进制 整数部分: "除 2 取余, 逆序排列"法 **小数部分: "乘 2 取整, 顺序排列"法 ** **计算机中信息的存储单位 ** ...
  • 给定0和1的数组A,考虑N_i:从A[0]到A[i]的第i个子数组被解释为二进制数(从最高有效位到最低有效位)。 返回布尔值answer列表,当且仅当N_i可被5整除时,answer[i]为true。 例如: 输入:[0,1,1] 输出:[true,fa.....
  • 基本解释记数的一种方法,表示时只用两个数码0和1,如十进制的2,用二进制表示为10;十进制的5,用二进制表示为101。二进制在用电子计算机进行运算时应用广泛。词语来源该词语来源于人们的生产生活。词语...
  • 请问有人知道, 我要如何将这个数据转化成二进制数? #当list = 51587的时候转换成2进制数如下,当list= [51587]的时候要如何转换? list = 51587 temp = bin(list).replace('0b','') print(temp)
  • 将十进制真值x(-127,-1,0,+1,+127)列表表示成二进制数及原码,反码,补码,移码 真值x(十进制) 真值x(二进制) [x]原 [x]反 [x]补 [x]移 ...
  • [Microsoft][SQL Server Native Client 11.0][SQL Server]将截断字符串或二进制数 问题描述: 数据库 插入数据时,报错 [Microsoft][SQL Server Native Client 11.0][SQL Server]将截断字符串或二进制数 问题原因: ...
  • 二进制数进行或运算,并统计结果中的1的个数 预备知识 输入为 int(bin_value, 2) 整数转换为二进制bin(数字) enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 290,875
精华内容 116,350
关键字:

二进制数列表