当前位置:网站首页>C陷阱与缺陷 第7章 可移植性缺陷 7.4 字符是有符号数还是无符号数
C陷阱与缺陷 第7章 可移植性缺陷 7.4 字符是有符号数还是无符号数
2022-07-30 17:10:00 【weixin_客子光阴】
字符是有符号整数还是无符号整数
只有在我们需要把一个字符值转换为一个较大的整数时,这个问题才变得重要起来而在其他情况下,结果都是已定义的:多余的位将被简单地“丢弃”。编译器在转换char类型到int类型时,需要作出选择:应该将字符作为有符号类型处理,还是应该将字符作为无符号数处理?
有符号整数还是无符号整数影响到程序员对哈希表或转换表等的设计方式。
常见的错误认识是:如果c是一个字符常量,使用(unsigned)c就可得到与c等价的无符号整数。这是会失败的,因为将字符c转换为无符号整数时,c将首先被转换为int型整数,而此时可能得到非期望的结果。
正确的方式是使用语句(unsigned char)c,因为一个unsigned char类型的字符在转换为无符号整数是无须首先转换为int型整数,而是直接进行转换。
边栏推荐
猜你喜欢

Excel导入和导出

esp32系列(5):esp32 蓝牙架构学习

BCryptPasswordEncoder的使用及原理

SQLServer下载与安装

Error occurred while trying to proxy request项目突然起不来了

Security business revenue growth rate exceeds 70% 360 builds digital security leader

Express framework connects MySQL and ORM framework

论文阅读之《Underwater scene prior inspired deep underwater image and video Enhancement (UWCNN)》

DLCM - 基于列表上下文信息的重排序模型

Shell implementation based on stm32
随机推荐
Express framework connects MySQL and ORM framework
第六章:决胜秋招
图注意力机制
Redis缓存穿透-热点缓存并发重建-缓存与数据库双写不一致-缓存雪崩
The first time I used debug query and found that this was empty, does it mean that the database has not been obtained yet?please help.
huato hot update environment construction (DLL method hot update C# code)
LeetCode167: Sum of two numbers in sorted array
数据库课程设计大作业大盘点【建议在校生收藏】
Mongoose模块
Paper reading (63): Get To The Point: Summarization with Pointer-Generator Networks
Deep Feedback Network for Recommendation
华为云数据治理生产线DataArts,让“数据'慧'说话”
京东获取推荐商品列表 API
web服务通过用户访问请求判断设备来源
有没有并发系统设计的经验,我该怎么说?
esp32系列(5):esp32 蓝牙架构学习
Go新项目-编译热加载使用和对比,让开发更自由(3)
实现web实时消息推送的7种方案
SLIM: Sparse Linear Methods (TopN推荐)
Google Cloud Spanner的实践经验