一.问题描述  

  [1 1 1 0 1

  0 1 1 0 1

  0 0 1 1 0]

每两位3转换为一个十进制数,共5列,那么转换后是ceil(5/3)=2列。

  [7 1

  6 1

  1 2]

二.问题分析

  1.每八个字符划分为一个十进制,nwords=ceil(size(b,2)/8)

  2.按列处理每行的字符,只不过1到8是一组,为第一列;9到17是二组,为第2列。

  cb = zeros([size(b,1),nwords],'uint8')

  for(j=1:size(b,2))

  {

    w = ceil(j/8);

    //用bitset(A,bit,Value),bit没组都是1到8

    cb(:,w) = bitset(cb(:,w),mod(j-1,8)+1,b(:,j))

  }

三.实现

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function cb = compactbit(b)
%
% b = bits array
% cb = compacted string of bits (using words of 'word' bits)[nSamples nbits] = size(b);
nwords = ceil(nbits/8);%向上取整(正无穷方向)压缩bit->word.
cb = zeros([nSamples nwords], 'uint8');for j = 1:nbitsw = ceil(j/8);cb(:,w) = bitset(cb(:,w), mod(j-1,8)+1, b(:,j));
end

Matlab实现二进制矩阵转换为十进制相关推荐

  1. 将32位的ip二进制串转换为十进制

    /******************** 将32位的ip二进制串转换为十进制 **************************/ #define MAX 32 #include<stdio ...

  2. 二进制整数转换为十进制整数[包括负数的转换]

    二进制整数转换为十进制整数 [问题描述] 编写程序,输入字符串形式的二进制整数(长度为16位,采用补码表示),把它转换为十进制整数,输出该十进制整数.补码首位表示符号,0代表正数,1代表负数. 需要注 ...

  3. matlab44矩阵,如何在MATLAB中将2X2矩阵转换为4X4矩阵?

    我需要通过以下方式将2X2矩阵转换为4X4矩阵的一些帮助: A = [2 6; 8 4] 应该变成: B = [2 2 6 6; 2 2 6 6; 8 8 4 4; 8 8 4 4] 我该怎么做? 在 ...

  4. matlab 负数二进制转成十进制

    我的数据里面16位代表的负数:低八位在前,高八位在后. 负数转二进制的步骤是:取绝对值.换算成16进制.按位取反.加一 所以负数转十进制的步骤是:减一.按位取反.换算成十进制.加负号 但是matlab ...

  5. 二进制补码转换为十进制数的方法(数学层面)

    方法: 对于正数:直接按位加权运算就行 对于负数:按位取反再+1,添负号 例如: 补码1101, 先按位取反0010, 然后加1,0011, 这个数是3,添负号:-3

  6. qt中十进制转换为十六进制和二进制字符串,以及二进制字符串转十进制,十六进制字符串

    概述 直接上代码,记录一下,方便日后使用: 示例一 将十进制转换为二进制和十六进制字符串: int num = 23; QString str = QString::number(num,16);// ...

  7. 关于进制计算的公式(转换为十进制)

    设x为进制,y为第几位(0位开始),z为数字 示例: 八进制 00030102,则x=8,y分别为0,2,4;z为3,1,2     转换为十进制为:                    8 ** ...

  8. 二进制补码和十进制数的转换

    最近做的一个工程项目用到了基本的数据转换,代码实现了一遍,供大家和自己参考. 先考虑如何将二进制补码转换为十进制整数: 若符号位是0, 则该数是正数, 原码等同于补码. 可以由原码(也就是补码)得知代 ...

  9. 十六进制的转换为十进制两种常见方法

    十六进制的转换为十进制两种常见方法 好久以前学的都忘了,正好复习一下 对于十六进制转十进制 第一种:快速法(自己挺喜欢第一种的快捷) 比如: 012A=0 X 163 + 1 X 162+ 2 X 1 ...

最新文章

  1. 安装neo1973的GPS驱动[转]
  2. 在linux中安装.sh 文件
  3. FastJson/spring boot: json输出
  4. 高等数学上-赵立军-北京大学出版社-题解-练习5.5
  5. get方法报空指针_C++基础教程之指针拷贝详解
  6. bzoj1046 [HAOI2007]上升序列
  7. MySQL 判断表中是否存在某条数据
  8. 微信小程序 实现跑马灯(文字+图片)
  9. 咸鱼之王小游戏PC版鼠标模拟器实现
  10. css中1cm等于多少px,px和rem换算(1rem等于多少px)
  11. 用MACD决策树模型预测股票趋势
  12. 2016年全球半导体厂商TOP20排名
  13. 马上:网络故障排查的思路和方法
  14. nginx防止CDN大量回源
  15. (*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令
  16. 监控io性能、free命令、ps命令、查看网络状态、linux下抓包
  17. Java后端技术栈,到底如何深入学习?
  18. 都有云技术了,传统动态vps还有什么用?
  19. nodejs+vue网上鲜花店 vscode鲜花销售商城网站mysql
  20. 掌握SQL Monitoring这些特性,SQL优化通通不在话下

热门文章

  1. java jdbc(mysql)驱动源码分析,JAVA JDBC(MySQL)驱动源码分析(四)
  2. 解决Eclipse Debug 的source not found问题
  3. 数据库BCP命令导入导出数据
  4. 本周ASP.NET英文技术文章推荐[02/25 - 03/03]
  5. ./ . 和#!/bin/bash 辨析Linux如何选择当前执行脚本的shell
  6. 简单选择排序--转载
  7. 正则表达式——WPF输入控件TextBox 限定输入特定字符
  8. HDU_oj_2047 阿牛的EOF牛肉面
  9. Web自动化测试 Selenium+Eclipse+Junit+TestNG+Python
  10. mybatis的配置文件中selectKey标签问题