求两个数中的较大值max(a,b)。(不用if,>)

简介: 题目:求两个数的较大值,不能使用if、>。 1.不使用if、>,还要比较大小,貌似就只能使用条件表达式:   x=?:;  (表达式1为true时,返回表达式2;否则返回表达式3)   2. 本题目中使用条件表达式:   max(a.b)=? b:a;  (表达式1为true时,返回b;否则返回a)   3.如何写表达式1,区分a与b的大小。

题目:求两个数的较大值,不能使用if、>。

1.不使用if、>,还要比较大小,貌似就只能使用条件表达式:

  x=<表达式1>?<表达式2>:<表达式3>;  (表达式1为true时,返回表达式2;否则返回表达式3)

 

2. 本题目中使用条件表达式:

  max(a.b)=<表达式1>? b:a;  (表达式1为true时,返回b;否则返回a)

 

3.如何写表达式1,区分a与b的大小。(不用>)

  可以使用位运算,判断a-b的符号位。符号位为1(负数),a<b;符号位为0(正数),a>=b。

  bool运算,非0表示true,0表达false。

 

实例代码看如下:

 1 #include<stdio.h>
 2 
 3 /**
 4 (a-b)&0x80000000
 5 32为机器,int,最高位置1
 6 使用“与“运算判断a-b是否为非负数
 7 */
 8 #define max(a,b) (((a-b)&0x80000000)?b:a)
 9 int main()
10 {
11     printf("sizeof(int)=%d\n",sizeof(int));
12     printf("max(2,3)=%d\n",max(2,3));
13     printf("max(2,2)=%d\n",max(2,2));
14     printf("max(0,2)=%d\n",max(2,0));
15     return 0;
16 }

 输出:

 

相关文章
|
SQL 关系型数据库 SDN
双活中心数据一致性
双活中心数据一致性
1004 2
|
4月前
|
JSON 前端开发 JavaScript
基于LangChain的简易智能旅游助手Agent
本文分享基于LangChain开发的智能旅游助手Agent,支持“查天气+荐景点”双功能,对比ReAct与FunctionCall两种实现模式,并详解工具封装、记忆管理、执行框架等LangChain核心优势。代码开源,含FastAPI后端与原生HTML/JS前端。
454 3
|
存储 Ubuntu 网络协议
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问(上)
NAS个人云存储 - 手把手教你搭建Nextcloud个人云盘并实现公网远程访问
|
9月前
|
人工智能 架构师 微服务
Prompt Engineering 的艺术:让 AI 听懂“人话”
Prompt Engineering 的艺术:让 AI 听懂“人话”
657 4
|
敏捷开发 存储 开发工具
版本控制系统的选择:Git与SVN的比较
【8月更文挑战第14天】Git和SVN都是优秀的版本控制系统,它们各自具有独特的优势和适用场景。在选择版本控制系统时,需要根据具体的项目需求、团队特点和开发模式来综合考量。对于需要分布式团队协作、高效处理大型项目或采用敏捷开发模式的团队来说,Git是一个更好的选择。而对于传统团队、集中式开发或简单项目来说,SVN可能更加合适。无论选择哪种版本控制系统,都应该充分利用其提供的工具和功能来提高代码质量和开发效率。
|
开发框架 Java API
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
「SpringBrick快速入门指南」:一款基于Spring Boot的高级插件化开发框架
1516 0
|
存储 JSON API
HTTP 请求与响应处理:C#中的实践
【10月更文挑战第4天】在现代Web开发中,HTTP协议至关重要,无论构建Web应用还是API开发,都需要熟练掌握HTTP请求与响应处理。本文从C#角度出发,介绍HTTP基础知识,包括请求与响应结构,并通过`HttpClient`库演示如何发送GET请求及处理响应,同时分析常见错误并提供解决方案,助你更高效地完成HTTP相关任务。
739 2
|
运维 负载均衡 Devops
DevOps实践:使用Ansible进行自动化部署
【9月更文挑战第19天】在软件开发的快节奏世界中,DevOps已成为提高效率和促进协作的关键。本文将通过一个实际案例,展示如何使用Ansible简化自动化部署过程,旨在帮助读者理解DevOps的核心价值并掌握Ansible的基本使用。从概念到实践,我们将一起探索如何通过编写简单的Playbook来自动化服务器配置和应用部署,最终实现快速、可靠的软件发布。
|
机器学习/深度学习 数据采集 监控
Python基于BP神经网络算法实现家用热水器用户行为分析与事件识别
Python基于BP神经网络算法实现家用热水器用户行为分析与事件识别
|
Java 数据处理 索引
JAVA中的插入操作:深入解析与实现
JAVA中的插入操作:深入解析与实现
563 1