- 浏览: 137622 次
- 性别:
- 来自: 北京
文章分类
最新评论
直接上代码.
#include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX 8972654 //随便设定的数 #define SHIFT 5 int bitmap[1 + MAX/32]; int setbit(unsigned int x); int clearbit(unsigned int x); void print_map(); void print_bit(int offset, int i); int main(int argc, char *argv[]){ if(argc < 2){ printf("argc must greater than 1\n"); return 1; } unsigned x = (unsigned)atoi(argv[1]); memset(bitmap, 0, sizeof(bitmap)); if(setbit(x)){ print_map(); if(clearbit(x)) print_map(); } return 0; } int setbit(unsigned int x){ if(x > MAX || x == 0){ printf("input should greater than 0\n"); return 0; }else{ bitmap[(x - 1) >> SHIFT] |= (1 << ((x - 1) & 31)); return 1; } } int clearbit(unsigned int x){ if(x > MAX || x == 0){ printf("input should greater than 0\n"); return 0; }else{ bitmap[(x - 1) >> SHIFT] &= ~(1 << ((x - 1) & 31)); return 1; } } void print_map(){ int i; for(i = 0; i < (1 + MAX/32); i ++){ print_bit(bitmap[i], i); } } void print_bit(int offset, int i){ int j; for(j = 0; j < 32; j ++){ if(offset & (1 << j)){ printf("%d\n", i * 32 + j + 1); } } }
发表评论
-
C++ 一些小点
2014-01-14 15:29 740一些小的点,防止忘了再查资料 1.类的所有对象共享虚函数表。 ... -
创建动态链接是链接静态库报错
2014-01-03 14:06 985创建一个动态库时报错,如下 relocation R_X86_ ... -
c++ 虚函数 const等的一些小问题记录
2013-11-14 16:14 1143class Base{ public: void te ... -
c++ protected误区
2013-11-14 15:11 892发现以前对protected的用法一直是错误的。 prote ... -
c++动态陷阱
2013-11-14 14:35 677记录以防忘记 class base{ public: ... -
c 指针陷阱
2013-10-08 20:00 744void test(char ***s, int x, int ... -
内存对齐
2013-03-28 14:27 1172看书看到内存对齐一段时,突然想研究一下内存对齐最底层的原理.查 ... -
nginx hash源码分析
2013-02-05 19:05 1232HASH是NGINX核心数据结构之一.见几个链接.分析的很详细 ... -
贪心算法与动态规划的区别
2012-11-24 21:07 32111.贪心算法和动态规划区别 贪心算法是自顶向下的,它会先做在 ... -
fgetc read缓冲机制区别
2012-11-13 22:02 1972read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间 ... -
PHP实现各种排序
2011-11-23 17:32 938<?php /** * 各种排序 * @aut ... -
PHP实现平衡二叉树(AVL树)
2011-11-20 17:20 2940<?php require 'bstOrder ... -
PHP实现克鲁斯卡尔(kruscal)算法
2011-11-05 21:18 1187<?php require 'edge.php ... -
PHP实现图的邻接矩阵及普里姆(prim算法),弗洛伊德(floyd),迪杰斯特拉(dijkstra)算法
2011-11-02 18:35 4636<?php require 'mGraph.p ... -
php实现图的邻接表,关键路径,拓朴排序
2011-11-02 18:30 1845<?php //调用 require ... -
PHP实现二叉树,线索二叉树
2011-10-26 19:56 6498<?php require 'biTree ... -
php 实现KMP算法
2011-10-23 12:32 1848<?php /** * KMP算法的P ... -
php实现单链表(静态链表)
2011-10-21 14:40 1820<?php /* * 单链表的PH ...
相关推荐
Bitmap方法C语言实现,支持插入、删除和查找功能。
bitmap是个省空间的数据结构,我的c实现
"C 语言实现的Python扩展模块bitmap.zip"就是这样一个案例,它通过C语言编写了一个Python扩展模块,用于处理位图数据,提供更高效、底层的数据操作功能。 位图(Bitmap)是一种常见的图像数据格式,它存储的是像素...
这可以通过LockBits和Marshal.Copy实现,以提高性能。 ```csharp Rectangle rect = new Rectangle(0, 0, bitmap.Width, bitmap.Height); BitmapData originalData = bitmap.LockBits(rect, ImageLockMode.ReadOnly, ...
动态库.so文件提供了一个预编译的C或C++实现,用于高效地完成YUV到Bitmap的转换,这可以显著提高性能,因为原生代码运行在硬件级别的处理器上,相比于Java代码更加快速。 为了在Android应用中使用这个动态库,我们...
c.drawBitmap(bmpOriginal, 0, 0, paint); return bmpGrayscale; } ``` 通过以上方法,开发者可以灵活地在Android应用中处理各种图像资源,实现不同场景下的需求,如图片缩放、格式转换、灰度化等。这对于提升...
在本文中,我们将深入探讨如何使用GDI(Graphics Device Interface)技术在MFC(Microsoft Foundation Classes)对话框中显示位图文件,特别是通过`BitBlt()`函数来实现这一过程。`BitBlt()`是GDI中一个非常重要的...
C 语言实现 RAW 到 BMP 的转换主要涉及理解两种格式的文件结构,处理 RAW 数据并构造 BMP 文件头。这个过程需要一定的图像处理基础知识和文件操作经验。通过阅读和理解 `RAW_to_BMP.c` 的源代码,可以加深对这一过程...
在本文中,我们将深入探讨如何使用纯C++语言来生成BMP文件,同时也会讲解BMP格式的基本结构。 BMP文件的基本结构包含以下几个部分: 1. **文件头**(File Header):这是BMP文件的第一个部分,包括14个字节,用于...
因此,使用 C++ 语言来处理 Bitmap 对象是非常必要的。在本文中,我们将讨论如何将 Bitmap 对象传递给 C++ 层,并在 C++ 层中对其进行处理。 在 Android 中,Bitmap 对象是图像处理的基础,但是 Java 层的 Bitmap ...
BMP文件格式是Windows操作系统中使用的一种图像文件格式,其全称为BitMaP,它支持多种颜色深度。BMP图像可以分为设备相关位图(DDB)和设备无关位图(DIB),DIB格式是目前主流的BMP格式,具有良好的兼容性。BMP文件...
### Android Bitmap 图像特效处理 #### 一、概述 在Android开发过程中,图像处理是一项非常重要的功能,尤其是在需要实现各种视觉效果的应用场景中。本文主要介绍如何利用Android平台提供的工具来实现图片的特效...
C++Builder是一款集成开发环境(IDE),它基于C++语言,提供了一套完整的工具来构建Windows应用程序。在这个项目中,我们将重点讨论如何在C++Builder环境下使用Windows API来操作位图。 1. **Windows API与Bitmap**...
压缩包中的"BMP.c"文件应该包含了实现这些操作的C语言代码。"www.pudn.com.txt"可能是提供源代码的网站信息,可能包含一些关于代码的说明或版权信息。 理解BMP文件格式和如何用C语言进行读写操作对于进行图像处理...
位图(Bitmap)是一种重要的数据结构,广泛应用于索引、数据压缩以及各种算法优化。它的核心概念是用二进制位来...- 《C实现bitmap位图》://www.jb51.net/article/54438.htm - 武森《浅谈信息学竞赛中的“0”和“1”》
在Android开发中,为了节省存储空间和网络传输的带宽,常常需要对Bitmap图像进行压缩。...不过,需要注意的是,由于涉及到跨语言和跨平台的调用,调试和错误处理可能会相对复杂,开发者需要具备一定的C/C++和JNI知识。
事实上,我们是用每一个 元素表示一个32位的二进制字符串,这样这个元素可以保留相邻32个号码是否存在的信息,数组范围就下降到10000000/32了.例如对于号码 89256,由于...int bitmap[1 + N / WORD]; /* * 置位函数——用
下面将详细介绍三种不同的方法来实现 Android View 转 Bitmap 生成截图。 第一种方法:使用 DrawingCache 通过使用 View 的 buildDrawingCache() 方法,可以获取 View 的缓存视图(Bitmap)。这方法适用于 View ...
在OpenGL中,实现茶壶的绘制通常涉及到构建它的几何模型,这可能包括定义顶点、法线和纹理坐标。 `teapot.c` 文件很可能是包含绘制茶壶代码的源代码文件。在C语言中,这个文件可能会使用OpenGL的函数库来生成茶壶的...
2. BIN.C:这是一个C语言源代码文件,很可能是实现二值化算法的程序。开发者可能定义了函数,接收BMP图像作为输入,应用二值化算法,并生成一个新的二进制图像。 3. www.pudn.com.txt:这可能是一个链接到资源或...