首页 > 解决方案 > 无限制计算无符号整数最大值的最佳算法.h

问题描述

unsigned int有没有办法在不使用limits.h (所以 no UINT_MAX)或不使用的情况下计算可表示的最大值

unsigned int z = 0;
z = z - 1;

标签: c

解决方案


最简单的方法是简单地将 -1 分配给unsigned int. 您也可以分配~0u给它。

如果这是不可接受的,虽然效率低下,你可以做这样的事情:

unsigned int i = 0;
while (i+1 > 0) 
  i++;
printf("i=%u\n", i);

推荐阅读