已知一个整数,如何判断这个整数是无符号的?

简介: 已知一个整数,如何判断这个整数是无符号的?

前言

记录6月11日,肯哥在群里面分享的一个问题。说实话,看到题目想了半天没明白。一看答案,才发现,这题真的简单。

题目

已知一个整数,如何判断这个整数是无符号的?

题解

(1)因为我的思路完全是错误的,我就不再此进行乱分析了。肯哥给出的提示是:C语言中的与、或、非、异或等手段是个好东西。感兴趣的可以在此思考一下。

(2)答案揭晓,是群里面一个大佬说的a > 0 且 ~a > 0。不得不承认差距,一下子就体现出来了,自己还有很多要学习的。 肯哥给出的答案是

#define ISUNSIGN(A) ((A)>=0 && ~(A)>=0)

(3)这个是利用进行取反之后,符号位也会随着取反。说实话,这个知识点我给记混淆了,以为符号位不会取反。

(4)首先,因为如果一个数为负数,那么他铁定就是有符号的数据了。

(5)其次,‘~’进行位取反。同时符号位也会改变。如果对于无符号类型数据,是没有影响的,因为无符号数据是不存在负数的。而如果是有符号数据,那么正数就会变成负数。因此无法通过判断。


总结

(1)C语言的知识点太多了,很容易忘记。我翻了一下我的博客,居然还有专门讲解逻辑取反和算数取反的内容。(哭笑)

(2)知识要反复巩固,今天又学到了一点东西。开心

目录
打赏
0
0
0
0
10
分享
相关文章
C# 继承类中(父类与子类)构造函数的调用顺序
C# 继承类中(父类与子类)构造函数的调用顺序
Google Earth Engine(GEE)——土壤属性Soil Properties 800m分辨率
Google Earth Engine(GEE)——土壤属性Soil Properties 800m分辨率
125 0
干货满满!解密阿里云RPA (机器人流程自动化)的产品架构和商业化发展
阿里云RPA,作为阿里云自研8年的技术,在资本的热捧下,逐渐从幕后来到台前,成为企业服务市场的黑马。本文将从产品上全面剖析,阿里云RPA这款产品的现阶段情况,同时简单谈谈阿里云RPA的商业化进展。
7613 0
干货满满!解密阿里云RPA (机器人流程自动化)的产品架构和商业化发展
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
【Azure 应用服务】本地Node.js部署上云(Azure App Service for Linux)遇到的三个问题解决之道
110 1
数据管理DMS产品使用合集之如何使用REPLACE函数
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
117 2
【Java新纪元启航】JDK 22:解锁未命名变量与模式,让代码更简洁,思维更自由!
【9月更文挑战第7天】JDK 22带来的未命名变量与模式匹配的结合,是Java编程语言发展历程中的一个重要里程碑。它不仅简化了代码,提高了开发效率,更重要的是,它激发了我们对Java编程的新思考,让我们有机会以更加自由、更加创造性的方式解决问题。随着Java生态系统的不断演进,我们有理由相信,未来的Java将更加灵活、更加强大,为开发者们提供更加广阔的舞台。让我们携手并进,共同迎接Java新纪元的到来!
172 11
一句话解释C++指针和引用区别
记住一句话就够了:指针三心二意,引用从一而终!
160 0
带你读《云原生机密计算最佳实践白皮书》——Inclavare Containers: 面向机密计算场景的开源容器运行时技术栈
带你读《云原生机密计算最佳实践白皮书》——Inclavare Containers: 面向机密计算场景的开源容器运行时技术栈
448 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问