当前位置: 首页 > news >正文

编写一个函数比较两个整数大小,但不能使用任何比较操作符

有陷阱,要考虑溢出问题

 

int comp_int(int var1, int var2)
/* return value < 0: means var1 < var2; 
 *              = 0: means var1 = var2;
 *              > 0: means var1 > var2;
*/
{
    int bit_width, msb, rtnvar;
    bit_width = sizeof(int) << 3;    
    msb = var2 >> (bit_width -1) - 
          var1 >> (bit_width -1);
    if (msb)
        rtnvar = msb;
    else
        rtnvar = var1 - var2;
    return rtnvar;
}

转载于:https://www.cnblogs.com/freewater/archive/2012/10/10/2702083.html

相关文章:

  • gridControl控件显示交叉表
  • linux 的 sem 参数
  • iOS 6编程-在iPhone和iPad上运行的通用应用程序
  • UVA 993 Product of digits
  • 黑马程序员-6 泛型
  • Pair Project 总结 Part1
  • poj 1149(最大流,构图)
  • Guava 6-字符串处理:分割,连接,填充
  • C指针与二维数组等等。。
  • EDM邮件内容设计的三点注意之处
  • bashrc中修改PATH要注意的一个问题
  • profile bashrc bash_profile 之间的区别和联系
  • Repeater排序2
  • gtos move / operation
  • 软件工程阅读作业二——团队项目理解与心得
  • 《深入 React 技术栈》
  • 30秒的PHP代码片段(1)数组 - Array
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • python docx文档转html页面
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • React-redux的原理以及使用
  • 案例分享〡三拾众筹持续交付开发流程支撑创新业务
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 对超线程几个不同角度的解释
  • 给github项目添加CI badge
  • 排序(1):冒泡排序
  • 判断客户端类型,Android,iOS,PC
  • 区块链将重新定义世界
  • 为什么要用IPython/Jupyter?
  • 我是如何设计 Upload 上传组件的
  • 线上 python http server profile 实践
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • Spring第一个helloWorld
  • 说说我为什么看好Spring Cloud Alibaba
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (接口封装)
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET C#版本和.NET版本以及VS版本的对应关系
  • .NET 读取 JSON格式的数据
  • .NET(C#) Internals: as a developer, .net framework in my eyes
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .net项目IIS、VS 附加进程调试
  • /bin/rm: 参数列表过长"的解决办法
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @requestBody写与不写的情况
  • @select 怎么写存储过程_你知道select语句和update语句分别是怎么执行的吗?
  • [] 与 [[]], -gt 与 > 的比较
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [CISCN2019 华东南赛区]Web11