C++ do_div 宏

cpp 复制代码
#define do_div(n, base) ({ \
    uint32_t __base = (base); \
    uint32_t __rem; \
    __rem = ((uint64_t)(n)) % __base; \
    (n) = ((uint64_t)(n)) / __base; \
    __rem; \
})

用法:

cpp 复制代码
u64 ns = 1234567890;
u32 remainder_ns;
remainder_ns = do_div(ns, 1000000);
// 执行后:ns 被修改为商 (1234),remainder_ns 为余数 (567890)
相关推荐
-To be number.wan1 小时前
算法日记 | STL-MAP
c++·算法
楼田莉子1 小时前
C++20新特性:Range库
开发语言·c++·后端·学习·c++20
字节高级特工1 小时前
【Linux】深入理解C语言命令行参数与环境变量
linux·c++·人工智能·后端
linux开发之路2 小时前
C++项目推荐:eBPF+调度器性能分析框架
linux·c++·ebpf·火焰图·调度器
愿天垂怜2 小时前
【C++脚手架】ffmpeg 库的介绍与使用
linux·服务器·开发语言·c++·ide·git·ffmpeg
并不喜欢吃鱼2 小时前
从零开始 C++-----十一【C++ 数据结构】红黑树全解析:从定义到工程实现(一文搞定,十分详细)
开发语言·数据结构·c++
不会C语言的男孩2 小时前
C++ Primer Plus 第7章:函数——C++的编程模块
开发语言·c++
kebeiovo2 小时前
C++与 Lua的交互
c++·lua
John_ToDebug2 小时前
Chromium Settings 自启动开关:三种 pref 同步方案深度对比
c++·chrome·ai