编程碎片
分享开发过程中遇到的零碎的小技巧。
IOT物联网小镇
公众号:【IOT物联网小镇】。
道哥,十多年的嵌入式开发老兵。擅长用通俗的语言、简洁的代码,一步一步的剖析C/C++、Linux操作系统、应用程序设计、物联网、单片机和嵌入式平台的底层思考过程。
坚持原创,厚积薄发、换位思考,以读者的角度来总结文章。每一篇输出,不仅仅是干货的呈现,更是引导你一步一步的深入思考,从底层逻辑来提升自己。
展开
-
一个低级的常见错误
今天遇到如下代码: (1)#define PB_REG_SLCM_CB_INFO_VALID 0x1 (2)nSimInitInfo &= ~PB_REG_SLCM_CB_INFO_VALID; 跑到(2)处时,nSimInitInfo = 0x03, 本意是把nSimInitInfo的bit3清零的,可是(2)执行后,nSimInitInfo = 0x0原创 2013-10-22 15:22:12 · 1078 阅读 · 0 评论 -
转载:使用Eclipse与Pydev开发Python
1、安装EclipseEclipse可以在它的官方网站Eclipse.org找到并下载,通常我们可以选择适合自己的Eclipse版本,比如Eclipse Classic。下载完成后解压到到你想安装的目录中即可。当然在执行Eclipse之前,你必须确认安装了Java运行环境,即必须安装JRE或JDK,你可以到(http://www.java.com/en/download/manual.jsp)找到原创 2013-10-22 15:24:26 · 1018 阅读 · 0 评论 -
折半查找数据,折半查找插入位置
//折半查找函数int binary_search(code array[],int search){ int middle,front=0,rear=9; while(front { middle=(front+rear)/2; if(search==array[middle].num) return middle; //查找成功,返回middle即是要查数据在新数组中的位置 els原创 2013-10-22 15:28:38 · 2173 阅读 · 0 评论 -
C 语言的谜题02-转载
8、请问下面的程序输出什么?#includeint main(){int i;i = 10;printf("i : %d\n",i);printf("sizeof(i++) is: %d\n",sizeof(i++));printf("i : %d\n",i);return 0;}参考答案:如果你觉得输出分别是,10,4,11,那么你就错了,错在了第三个,第一个是10没有什么问题,第二个是4,也没原创 2013-10-22 15:25:04 · 1043 阅读 · 0 评论 -
将一个5*5的矩阵中最大的元素放在中...
将一个5*5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(顺序为从左到右,从上到下顺序一次从小到大存放),写一函数实现之。用main函数调用。 #include #define NL "\n"#define PR_NL printf("\n");#define ARRAY_NUM 5void sort(int a[4][3]) //对4个最小值按照小--》大排序{ i原创 2013-10-22 15:22:50 · 2910 阅读 · 0 评论 -
转载:汉字,Unicode and UTF8
以上文章是我在查找相关知识时看到的比较通俗易懂分析透彻的文章,个人觉得比较好,感谢作者! 学习之后用VC写了个很简单的转换工具,用来在汉字与UNICODE, UNICODE与UTF-8之间的转换。这样在工作用直接查找就OK了。原创 2013-10-22 15:20:43 · 1163 阅读 · 0 评论 -
BCD 编码
即BCD代码。Binary-Coded Decimal,简称BCD,称BCD码或二-十进制代码,亦称二进码十进数。是一种二进制的数字编码形式,用二进制编码的十进制代码。这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。这种编码技巧,最常用于会计系统的设计里,因为会计制度经常需要对很长的数字串作准确的计算。相对于一般的浮点式记数法,采用BCD码,既可保存数原创 2013-10-22 15:19:07 · 1722 阅读 · 0 评论 -
转载:字串查找代码
char* dtmfc = "1234567890ABCDEF" ;char* dtmfc1 ; : : :while(*buf){ c = *buf++ ; dtmfc1 = dtmfc ; while( *dtmfc1) { if( *demfc1 == c ) ...... else ...... dtmfc1 ++ ; } } : : :再看:const char dtm原创 2013-10-22 15:18:52 · 1121 阅读 · 0 评论 -
谈谈Unicode编码 简要解释UCS/UTF/BMP/BOM(转载)
这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可以在GBK、Unicode、Unicode big endian和UTF-8这几种编码方式间相互转换。同样是txt文件,Windows是怎样识别编码方式的呢? 我 很早前就发现Unicod原创 2013-10-22 15:17:57 · 1268 阅读 · 0 评论 -
C++ 点滴
****************************************************ch11-类****************************************************1.C++中,结构体是用关键字struct声明的类,默认情况下成员是public的。 类中成员默认是private的。 2.类的定义中的成员函数:规模小,不能使用switch语原创 2013-10-22 15:27:16 · 1203 阅读 · 0 评论 -
转载:关于字节对齐
一.什么是字节对齐,为什么要对齐?许多实际的计算机系统对基本类型数据在内存中存放的位置有限制,它们会要求这些数据的首地址的值是某个数k(通常它为4或8)的倍数,这就是所谓的内存对齐,而这个k则被称为该数据类型的对齐模数(alignment modulus)。当一种类型S的对齐模数与另一种类型T的对齐模数的比值是大于1的整数,我们就称类型S的对齐要求比T强(严格),而称T比S弱(宽松)。这种原创 2013-10-22 15:26:36 · 1151 阅读 · 0 评论 -
C 语言的谜题01-转载
C 语言的谜题作者: haoel (1 篇文章) 日期: 九月 9, 2010 在 6:03 下午这几天,本站推出了几篇关于C语言的文章如下所示:语言的歧义 [酷壳链接] [CSDN链接]谁说C语言很简单? [酷壳链接] [CSDN链接]6个变态的C语言Hello World程序 [酷壳链接] [CSDN链接]如何加密/弄乱C源代码 [酷壳链接] [CSDN链接]C语言的谜题 [酷壳链接] [CS原创 2013-10-22 15:25:01 · 1189 阅读 · 0 评论 -
转载:使用Eclipse与Pydev开发Python(2)
4、建立Python Project:安装好Eclipse+PyDev以后,我们就可以开始使用它来开发项目了。首先要创建一个项目,选择File -> New ->Pydev Project会弹出一个新窗口,填写Project Name,以及项目保存地址,然后点击next完成项目的创建。5、创建新的Pydev Module光有项目是无法执行的,接着必须创建新的Pydev Moudle,选择File原创 2013-10-22 15:24:28 · 1060 阅读 · 0 评论 -
转载:安装配置Django开发环境(Eclipse + Pydev)
安装配置Django开发环境(Eclipse + Pydev)2008年04月13日 星期日 01:34 所谓工欲善其事,必先利其器。Python开发有很多工具,其中Eclipse+Pydev就是其中一种。尽管 python@newsmth 的置底文章对这对组合评价不高,但在pipi的坚持和推荐下,我还是选择了这对组合。反正都没有用过,我正好尝尝鲜。非常感谢Pipi,本文得到了Pipi同学的大原创 2013-10-22 15:24:24 · 1108 阅读 · 0 评论 -
Eclipse 插件: JSEclipse
1. 下载 jseclipse.zip链接: http://pan.baidu.com/s/1hqeqMbU 密码: r9u32. 解压后,把 jseclipse/features/ 下文件拷贝到 eclipse/features/把 jseclipse/plubins/ 下文件拷贝到 eclipse/plugins/ 3. 重启 eclipse原创 2015-06-15 13:45:54 · 1164 阅读 · 0 评论