当前位置:网站首页>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型整数,而是直接进行转换。
边栏推荐
- No qualifying bean of type问题解决
- [HarekazeCTF2019] Avatar Uploader 1
- 每日练习------生成13位条形, Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
- 万华化学精细化工创新产品大会
- Win11如何把d盘空间分给c盘?Win11d盘分盘出来给c盘的方法
- Chapter 6: Decisive Autumn Moves
- Analysis and Simulation of Short Circuit Fault in Power System Based on MATLAB
- 华为云数据治理生产线DataArts,让“数据‘慧’说话”
- 基于模糊PID的液压舵机伺服系统
- 京东获取推荐商品列表 API
猜你喜欢
Login Module Debugging - Getting Started with Software Debugging
实现web实时消息推送的7种方案
云厂商做生态需要“真连接、真赋能”,用“技术+真金实银”发展伙伴
(18)[系统调用]追踪系统调用(服务表)
Error occurred while trying to proxy request The project suddenly can't get up
[HarekazeCTF2019]Avatar Uploader 1
DLCM - 基于列表上下文信息的重排序模型
huato hot update environment construction (DLL method hot update C# code)
Oracle动态监听与静态监听详解
onenote使用
随机推荐
[极客大挑战 2020]Roamphp1-Welcome
[NCTF2019]Fake XML cookbook-1|XXE漏洞|XXE信息介绍
论文阅读之《Underwater scene prior inspired deep underwater image and video Enhancement (UWCNN)》
报错500,“message“: “nested exception is org.apache.ibatis.binding.BindingException: 解决记录
镜像站收集
shell快速移植
从零开始的Multi-armed Bandit
Mongoose module
线程同步 控制执行顺序
每日练习------生成13位条形, Ean-13码规则:第十三位数字是前十二位数字经过计算得到的校验码。
对话框 QDialog ( 详解 )
Chapter 5 Advanced SQL Processing
浅谈在线编辑器中增量编译技术的应用
牛客网刷题——运算符问题
Tensorflow模型量化(Quantization)原理及其实现方法
Gvim order record
Lotus 1.16.0 minimum snapshot export import
基于模糊PID的液压舵机伺服系统
592. Fraction Addition and Subtraction
Google earth engine如何实现我们时间列表的排列和选取