DOTCPP题目 2782: 整数大小比较

一、题目

题目描述

输入两个整数,比较它们的大小。

输入格式

一行,包含两个整数x和y,中间用单个空格隔开。
0 <= x < 2^32, -2^31 <= y < 2^31。

输出格式

一个字符。
若x > y,输出 > ;
若x = y,输出 = ;
若x < y,输出 < 。

样例输入

复制

1000 100

样例输出

复制

>

二、分析


 0 <= x < 2^32, -2^31 <= y < 2^31,x是无符号数,而当y<0时是有符号数,考虑这种特殊情况,有符号数会转化成比无符号数还大的数,导致结果错误。例如:x=4294967242,y=-1,程序会输出<。

三、代码 

#include<stdio.h>

int main()
{
	/*C语言
	当有符号数n(-2^31~2^31-1)和无符号数据m(0~2^32-1)进行比较时,
	会进行将有符号的数据转化为无符号的数据,
	而且这种转换会使有符号的被转换成大于无符号的一个最大的值
	所以,当m是无符号数时,n<0,n作为有符号数,n会被转换,
	所以要输出>号 
	*/	 
	int n;
	unsigned int m; 
	scanf("%d %d",&m,&n);
	if(m>n || n<0){ //n<0时,作为有符号数 
		printf(">");
	} else if(m==n){
		printf("=");
	}else{
		printf("<");
	}
	return 0;	
 } 

最近更新

  1. TCP协议是安全的吗?

    2024-05-14 17:20:18       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-14 17:20:18       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-14 17:20:18       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-14 17:20:18       18 阅读

热门阅读

  1. vue2响应式和vue3响应式

    2024-05-14 17:20:18       11 阅读
  2. [Python]锁

    2024-05-14 17:20:18       12 阅读
  3. spring boot 线程池的应用

    2024-05-14 17:20:18       15 阅读
  4. 基因专利的得与失

    2024-05-14 17:20:18       9 阅读
  5. Edge的使用心得与深度探索

    2024-05-14 17:20:18       13 阅读
  6. 下拉多选【bootstrap-multiselect】

    2024-05-14 17:20:18       11 阅读
  7. k8s相关常用语句

    2024-05-14 17:20:18       13 阅读
  8. oraclesql中删除表中重复行的方法

    2024-05-14 17:20:18       18 阅读
  9. 遥感中常用的降维方法-UMAP介绍

    2024-05-14 17:20:18       16 阅读