
编程基础
szl_lxy
此博客希望可以作为我俩成长的见证者,增强我们的表达能力,也希望可以帮助一同成长进步的人
展开
-
使用异或求两个数的较小值
(y^(x^y)&-(x 如果x所以计算机中-1表示为全1;所以在下一步的运算中(x^y)&-(x 如果x>y;则根据运算规则有,-(x综上所述,所以这个式子返回的是x和y的最小值。经过以上的分析,我们可以很快推导出使用这些位运算计算二者最大值的方法,即(y^(x^y)&(x转载 2015-08-16 13:51:56 · 850 阅读 · 0 评论 -
uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了
uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型在nesc的代码中,你会看到很多你不认识的数据类型,比如uint8_t等。咋一看,好像是个新的数据类型,不过C语言(nesc是C的扩展)里面好像没有这种数据类型啊!怎么又是u又是_t的?很多人有这样的疑问。论坛上就有人问:以*_t结尾的类型是不是都是long型的?在baidu上查一下,才找到答案转载 2015-08-16 13:48:40 · 536 阅读 · 0 评论 -
如何让类对象只能在堆(栈)上分配空间
一般情况下,编写一个类,是可以在栈或者堆分配空间。但有些时候,你想编写一个只能在栈或者只能在堆上面分配空间的类。这能不能实现呢?仔细想想,其实也是可以滴。在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。1、静态建立类对象:是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在转载 2015-08-16 15:33:34 · 834 阅读 · 0 评论 -
内存数据库
1、栈区(stack)— 由编译器自动分配释放 ,存放函数参数值,局部变量值等。其操作方式类似于数据结构中栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量和静态变量存储是放在一块,初始化全局变量和静态变量在一块区域, 未初转载 2015-08-16 15:31:45 · 454 阅读 · 0 评论 -
关于结构体的复制
struct st_task{ uint16_t id; uint32_t value; uint64_t timestamp;};void fool(){ st_task task = {}; uint64_t a = 0x00010001; memcpy(&task, &a, sizeof(uint64_t)); printf(原创 2015-08-16 13:57:02 · 816 阅读 · 0 评论 -
关于读取速度
千兆以太网的读取速度 1GpsSATA硬盘即使用(Serial ATA)口的硬盘又叫串口硬盘,读取速率: 版本 带宽 速度 数据线最大长度 SATA 3.0 6Gb/s 600MB/s 2米 SATA 2.0 3Gb/s 300MB/s原创 2015-08-16 14:27:43 · 479 阅读 · 0 评论