全网首发:char数组矩阵转bit的算法
吾现在有一个一维数组,试图转换为bit。
数组为14x14:
static char word_bitmap[] =
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
转换为bit数组14x2:
//picth 为一行的字节数
static char* byteToBit(char* pBuffer, int w, int h, int pitch)
{int i=0;int j=0;int size = h * pitch;char* bits = (char*)malloc(size);memset(bits, 0, size);char* pRaw = bits;for (i=0; i<h; i++){for (j=0; j<w; j++){int srcPos = j;int srcPosByte = srcPos / 8;int srcPosBit = srcPos % 8;int srcBitValue = pBuffer[i*w+j] == 0 ? 0 : 1;bits[srcPosByte] |= ((srcBitValue << srcPosBit));}bits += pitch;}return pRaw;
}
输出验证:
static void dumpBit(char* pBuffer, int w, int h, int pitch)
{int i=0;int j=0;printf("w=%d, h=%d\n", w, h);for (i=0; i<h; i++){printf("|");for (j=0; j<w; j++){int srcPos = j;int srcPosByte = srcPos / 8;int srcPosBit = srcPos % 8;int srcBitValue = (pBuffer[srcPosByte] & (0x01 << srcPosBit)) != 0 ? 1 : 0;printf(srcBitValue ? "1" : " ");}pBuffer += pitch;printf("|\n");}
}
全网首发:char数组矩阵转bit的算法相关推荐
- [Python从零到壹] 十四.机器学习之分类算法五万字总结全网首发(决策树、KNN、SVM、分类对比实验)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- [Python从零到壹] 十三.机器学习之聚类算法四万字总结全网首发(K-Means、BIRCH、树状聚类、MeanShift)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- [Python从零到壹] 十二.机器学习之回归分析万字总结全网首发(线性回归、多项式回归、逻辑回归)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- PTA 栈 (20分)(全网首发)(实现一个栈Stack,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1))
题目描述: 我们知道平凡的栈有几个操作: push(value) 将 value 压入栈 pop() 将栈顶元素弹出, 并返回这个弹出的元素. 现在我们想要在平凡栈的基础上实现以下几个操作: push ...
- 全网首发!逆向分析学生机房管理助手7.4随机进程名算法
一到九月份,学生机房管理助手就直接开始窜稀式更新,连更两个版本,这使我弄不到7.3的样本,只能分析7.4了.大伙有7.3样本欢迎联系我. 7.2版本分析见最新支持7.2!用C++干掉讨厌的学生机房管理 ...
- 全网首发,大众奥迪领驭帕萨特DIY数码碟盒增加USB和蓝牙播放音乐功能使用原车接口无损改装
文章目录 全网首发!大众奥迪DIY数码碟盒增加USB和蓝牙播放音乐功能 前言 1.设计指标 2.方案设计 2.1.外壳选择 2.2.蓝牙方案 2.3.MCU方案 3.原理图设计 4.PCB设计 5.程 ...
- 计算机公式筛选,excel筛选计算筛选状态下的计算套路,全网首发!
excel筛选计算筛选状态下的计算套路,全网首发!,前天刚学习了一个excel的新技术,叫"excel筛选计算"授课老师对我们说,这一技术的专业全称为"excel筛选计算 ...
- 软件测试面试必看,资深测试工程师面试题集锦 全网首发
全网首发,最牛的全套软件测试 ,自动化测试面试题,这些面试题都在文章末尾,有需要的可以自取 废话少说直接开始咱们今天的整体内容, 1.自我介绍? 我是谁.工作几年.你上家公司做什么.负责什么.你的优 ...
- 字符串(一):char 数组
字符串使用方法整理 系列: 字符串(一):char 数组 字符串(二):string 1. 声明 如下是一个例子(=> 表示表达式等价): char a[20] = "abcd&quo ...
- c++中关于char数组/char*指针/string类型
c++中关于char数组/char*指针/string 小渣渣一直被有关string和char[]以及char*的相关问题弄得痛不欲生,传参.返回值.函数调用等到底应该用哪种形式这真的是让小渣癫狂了, ...
最新文章
- 编程范式,程序员的编程世界观(转)
- linux 查看ip_如何在 Linux 中查看可用的网络接口 | Linux 中国
- c语言的时间函数的介绍,c语言中时间函数介绍
- Spring学习总结(29)——Spring异步处理@Async的使用以及原理、源码分析(@EnableAsync)
- java中import的使用
- 为什么Windows的兼容性这么强大,到底用了什么技术?
- pycharm调试步骤(详细)
- wps使用mathtype编辑数学公式
- 2022-2028全球与中国以太网控制器市场现状及未来发展趋势
- 用HTML绘制三线表,CSS制作三线表 | 学步园
- 如何实现 ASP.NET Core WebApi 的版本化
- html网页字体颜色代码大全
- SpringCloud优点、缺点
- 数据结构--创建并输出二叉树的c语言实现(超详细注释/实验报告)
- 冬至时节饮食养生要注意“三多三少
- office之PPT插入页码没有反应
- ibm 服务器 总显示f1,联想ThinkPad笔记本中F1/F4键盘指示灯一直常亮着如何解决
- 超静音 无振动 | TRINAMIC的3D打印机解决方案
- 什么是VR全景及优势
- java的splititeration,Java Spliterator.estimateSize方法代碼示例