十进制转换成二进制列表

a = [[1, 2, 3, 4, 5, 6]]

转换后:

z = [[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  1.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  0.]]

代码如下:

import numpy as np
a = [[1, 2, 3, 4, 5, 6]]
z = []
for item in a[0]:
    item = bin(item)        # 转换成二进制字符串,如:‘0b101‘
    item = item[2:]         # 除去‘0b‘
    item = format(item, ‘0>10s‘)
    for i in item:
        z.append(np.float32(i))

z = np.array(z)
z = z.reshape(6, 10)

  

原文地址:https://www.cnblogs.com/CongYuUestcer/p/8379205.html

时间: 2024-10-16 18:23:23

十进制转换成二进制列表的相关文章

十进制转换成二进制以 二进制转换成 8进制和16进制

十进制转换成二进制 举例:752(十进制数) --> 转换成 二进制数 从下往上 读取数据 二进制数为 : 011110000 2.二进制转换成8进制 (开头用 0 表示) 111 -> 表示的十位数 为 7,也是 8进制 每位上 最大的数字 011110000 转换为  8进制 ,从右到左  ,三位 隔开      011-110-000 , 3.二进制转换成16进制(开头用0x表示) 与 二进制转换 大体相同,区别在于 , 在二进制数中,每四位数隔开 ,再分别计算 得到十进制 ,再 进行

递归代码将十进制转换成二进制输出

这段代码将十进制转换成二进制输出,代码很简洁干练 #include<stdio.h> #include<string.h> void DtoB(int n) {  if(n)  {   DtoB(n/2);   printf("%d",n%2);  } } int main() {  int n;  scanf("%d",&n);  DtoB(n);  return 0; }

C 利用移位运算符 把十进制转换成二进制

#include <stdio.h> int main(void){ //利用移位运算符 把十进制转换成二进制 int c; printf("输入数字:");//8 scanf("%d",&c); //最高位和次高位都要移动到最低位 //补码:00 0000 1000 //逻辑右移>>:00 0000 1000 //printf("%d",8<<2);return; int i = sizeof(c)*

Question20180128 十进制转换成二进制浮点数

如何将十进制的浮点数 转换二进制的浮点数,分为两部分: 1. 先将整数部分转换为二进制, 2. 将小数部分转换为二进制, 然后将整数部分与小数部分相加. 以 20.5 转换为例,20转换后变为10100:0.5  要转换二进制,需要乘2, 乘完之后 取整数部分,然后用乘的结果减去整数部分, 然后接着乘2, 直至最后没有小数或者小数出现循环,  即乘完.如果等于0, 就取前面不为0的部分. 0.5 * 2  = 1.0 (取1) 0 * 2 = 0   (0) 所以,  转换后 0.5 = 0.1

用Java把十进制转换成二进制

第一种方式是用循环去做: public class Test { public static void main(String[] args) { int a = 8; // 要转换的十进制 String ejz = ""; for(; a != 0; a /= 2) { ejz = a % 2 + ejz; } System.out.println(ejz); } } 第二种方式是用递归: public String ejz(int n) { int tmp = n % 2; if(

将十进制转换成二进制输出,递归写法

#include <stdio.h> #include <stdlib.h> #include <string.h> void binary_num(int, int); int main( int argc, char* argv[] ) { int a = 30; binary_num(a, sizeof(a) * 8); printf("\n"); system("pause"); return 0; } void bina

FMDB使用的一点心得:数据库创建、制表、查询等以及image转换成二进制nsdata保存到数据库中

<span style="font-size:18px;">//首先,获取数据库的路径,(如果不存在,就是我们想要存储的路径),不用担心每次都创建数据库会重复,不会的,如果没有则创建,有了就不会再重复创建: //接下来,我们要制表,首先我们先查看我们的表是否已经存在,方法在下面代码中:如果存在则跳过,不存在则创建</span> -(void)DataBaseInit { //获取Document文件夹下的数据库文件,没有则创建 NSString *dbPath

python 十进制转换成任意进制

记得大学时代,参加学校举行的编程大赛,其中有道题是: 编写一函数,实现十进制转换成十六进制. 看起来非常简单的一道题,最后竟然没有实现,想想都觉得惭愧啊,回去网上一搜,那是相当的easy的事情:时隔五六年了,工作中一直是用java,最近学习python,所以突然想到这个问题,就用python来实现这道题.下面使用两种方法分别实现: 一.循环 def decimalToNBaseByNormal(decimalVar, base): tempList = [] temp = decimalVar

十进制转换成其它进制的通用写法(查表法)

 //十进制转换成其它进制的通用写法(查表法)  class Transform  { public static void main(String[] args) {    toHex3(60);    System.out.println();    toOctal2(20);    System.out.println();    toBinary2(6); }  public static void toAny(int num,int base,int offSet)  {   char