gpt4 book ai didi

c++ - 检查 long 类型数据是否在 int 范围内的可移植方法是什么?

转载 作者:太空狗 更新时间:2023-10-29 21:49:01 25 4
gpt4 key购买 nike

例如:

long xx = ..;  //is xx in range of an int type?

我脑子里想出了这个问题,所以这并不是一个真正的面试问题,正如你们中的一些人可能会问的那样。

基本上我想编写代码来检查它 w/o 使用 <climits> ,例如 INT_MIN , INT_MAX .如果不是不可能的话,最便携、最有效的方法是什么?

我所说的可移植性是指它不应由实现定义或依赖于平台,例如,一个字节并不总是 8 位。

最佳答案

#include <limits>

long xx = 5432;

if(long(numeric_limits<int>::max()) > xx)
{
int x = static_cast<int>(xx);
//...

关于c++ - 检查 long 类型数据是否在 int 范围内的可移植方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9381045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com