博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 7. Reverse Integer
阅读量:5061 次
发布时间:2019-06-12

本文共 1578 字,大约阅读时间需要 5 分钟。

https://leetcode.com/problems/reverse-integer/

溢出处理,最简洁形式

class Solution {public:    int reverse(int x) {        int res=0;        while(x!=0){            if(res>INT_MAX/10 || res

利用unsigned,稍微不美观方式

class Solution {public:    int reverse(int x) {        unsigned int val = abs(x);        unsigned int result = 0;            while (val) {            if (result > ((unsigned int)(1 << 31) - 1) / 10)                return 0;                result = result * 10 + val % 10;            val /= 10;        }            return (x > 0 ? result : (-1 * result));    }};

关于 INT_MAX 计算:

#include 
using namespace std;int main(){ cout << "INT_MAX " << ((unsigned int)(1 << 31) - 1) << endl; cout << (1 << 31) << endl; cout << (unsigned int)(1 << 31) << endl; cout << "INT_MAX " << INT_MAX << endl;; cout << "INT_MIN " << INT_MIN << endl;; cout << "unsigned INT_MAX " << (unsigned int)INT_MAX << endl;; cout << "unsigned INT_MIN " << (unsigned int)INT_MIN << endl;; return 0;}

输出结果

2^31 = 2 147 483 648
INT_MAX 2147483647-21474836482147483648INT_MAX 2147483647INT_MIN -2147483648unsigned INT_MAX 2147483647unsigned INT_MIN 2147483648

linux宏定义

#define INT_MAX ((int)(~0U>>1))#define INT_MIN (-INT_MAX - 1)#define UINT_MAX (~0U)#define LONG_MAX ((long)(~0UL>>1))#define LONG_MIN (-LONG_MAX - 1)#define ULONG_MAX (~0UL)#define LLONG_MAX ((long long)(~0ULL>>1))#define LLONG_MIN (-LLONG_MAX - 1)#define ULLONG_MAX (~0ULL)

以INT_MAX为例说明:符号整型数,0取反得到全F,右移1位空出符号位,得到最大的符号整型数,无论它是16位平台还是32位平台,都是正确的,其他各个功能都类似。

转载于:https://www.cnblogs.com/daijkstra/p/5089303.html

你可能感兴趣的文章
BZOJ2049[Sdoi2008]Cave 洞穴勘测(LCT模板)
查看>>
vuex插件
查看>>
2011年12月09日
查看>>
[ZJOI2007]棋盘制作 【最大同色矩形】
查看>>
合并单元格
查看>>
swift-初探webView与JS交互
查看>>
IOS-图片操作集合
查看>>
Android bitmap图片处理
查看>>
Android应用程序进程启动过程的源代码分析
查看>>
adb logcat 命令行用法
查看>>
Redis学习手册(Key操作命令)
查看>>
模板统计LA 4670 Dominating Patterns
查看>>
泛型第23条:请不要在新代码中使用原生态类型
查看>>
非对称加密
查看>>
bzoj 3413: 匹配
查看>>
从下周开始就要采用网上记录值班日志了
查看>>
在qq中可以使用添加标签功能
查看>>
eclipse 自定义布局
查看>>
团队项目开发客户端——登录子系统的设计
查看>>
【AppScan心得】IBM Rational AppScan 无法记录登录序列
查看>>