
c++
文章平均质量分 52
午夜零时
这个作者很懒,什么都没留下…
展开
-
pthread.h中的函数
参考pthrad.h中的函数以及man手册,列举了pthread库中的工具函数并做了分类。pthread库中的重点当然是thread、mutex和condition。此外,pthread提供了读写锁、自旋锁的实现,以及控制多线程启动的pthread_barrier和线程全局变量(thread_local)的实现。帮助我们快速开发多线程的访问控制。原创 2023-04-03 14:17:01 · 667 阅读 · 1 评论 -
C/C++常用数据类型的转换
(如:浮点数在机内用指数型式表示,分解为:数符,尾数,指数符,指数四部分记录最高的有效位,当整数的有效位数超过浮点数的尾数时,有可能会舍弃一部分精度)在这种情况下,unsigned int 将超越 long int,因为它可以保存更高的值。总结:位数不同的转换采用补零和舍弃的方式,有无符号的转换本质是二进制不变的转换,整型浮点型的转换是舍弃小数,保留整数位的转换。但是有符号数和无符号数的最高位表示不同,所以负数转为无符号 = 2^32 - 负数的绝对值。有符号数,符号位不变,多了裁剪高位,少了高位补零。原创 2023-03-03 16:11:43 · 815 阅读 · 0 评论 -
enable_if模板编程实现字节序转换模板
使用enable_if模板编程简单实现字节序转换模板原创 2023-02-25 11:52:09 · 602 阅读 · 0 评论 -
统计二进制中比特1的个数
这样从后往前,依次将1置为0同时result+1,最终n为0时,得出result表示共有多少个1。通过这种方式计算非常快,最差时间复杂度为o(n),且仅有减法和与操作这种简单的操作。正数可以得到正确的比特1的数量,负数得到的是。原创 2023-02-19 19:38:32 · 735 阅读 · 0 评论 -
通过位运算快速获得二进制前i位为0或1的掩码
所以想要获得前i位为0的二进制掩码,需要将1左移sizeof(T)*8 - i。因此,左移i位后i位为1,前sizeof(T)-i位为0。在前i位置0的基础上。原创 2023-02-16 16:54:01 · 253 阅读 · 0 评论