c - 无限制计算无符号整数最大值的最佳算法.h
问题描述
unsigned int
有没有办法在不使用limits.h
(所以 no UINT_MAX
)或不使用的情况下计算可表示的最大值
unsigned int z = 0;
z = z - 1;
解决方案
最简单的方法是简单地将 -1 分配给unsigned int
. 您也可以分配~0u
给它。
如果这是不可接受的,虽然效率低下,你可以做这样的事情:
unsigned int i = 0;
while (i+1 > 0)
i++;
printf("i=%u\n", i);
推荐阅读
- angular - 如何在具有不同库共享变量的 monorepo 中管理 SCSS 样式表?
- swift - 这是两种不同类型的枚举吗?
- c# - 从 mvc 中的中间件手动调用授权流程
- angular - Angular 示意图中的 branchAndMerge 函数有什么作用?
- php - php7: echo "&" 返回 & 与 &
- c# - 制作数据库和注册页面不添加信息将其放入数据库
- textmate2 - 如何防止已删除的文件出现在 TextMate 2 文件浏览器侧栏中?
- c++ - 以表格形式 C++ 表示矩阵
- spring-cloud-dataflow - spring-cloud-dataflow JDBC 身份验证
- android - Android Studio 没有正确选择文本