相关疑难解决方法(0)

使用无符号整数的最大值时," - 1"是否正确?

是否有任何c ++标准段落表示使用-1此方法是可移植和正确的方法或正确执行此操作的唯一方法是使用预定义值?

我有一个谈话与我的同事,什么是更好的:使用-1最多的无符号整数,或者使用从价值limits.h还是std::numeric_limits

我已经告诉我的同事,使用预定义的最大值,limits.h或者std::numeric_limits是这样做的便携和干净的方式,然而,同事反对-1像数字限制一样可移植,而且更多,它还有一个优点:

unsigned short i = -1; // unsigned short max
Run Code Online (Sandbox Code Playgroud)

可以轻松更改为任何其他类型,如

unsigned long i = -1; // unsigned long max
Run Code Online (Sandbox Code Playgroud)

当使用limits.h头文件中的预定义值时,或者std::numeric_limits还需要将其与左侧的类型一起重写.

c++

37
推荐指数
5
解决办法
3930
查看次数

是否有LARGEST_INTEGER宏或类似的东西?(C)

可能重复:
如何将变量设置为C中可能的最大数量?
int的最大值

我需要在我的代码中使用最大整数值,但我不想显式写4294967295.它是在某处定义的吗?

c integer

18
推荐指数
2
解决办法
4万
查看次数

`int`总是签名吗?

我一直以为在C中int代表signed int; 但我听说这种行为是特定于平台的,在某些平台上intunsigned默认的.这是真的吗?什么说标准,并随着时间的推移而演变?

c int signed language-lawyer

6
推荐指数
2
解决办法
544
查看次数

将值无穷大存储到变量中

以下代码将x设置为"infinity"

#include <limits.h>
int x = INT_MAX;
Run Code Online (Sandbox Code Playgroud)

当我说int x = 3;,编译器正在为变量x分配一些内存资源.当我说的时候,在编译器方面发生了什么int x = INT_MAX.

c compiler-construction

0
推荐指数
1
解决办法
2265
查看次数

标签 统计

c ×3

c++ ×1

compiler-construction ×1

int ×1

integer ×1

language-lawyer ×1

signed ×1