当前位置:网站首页>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型整数,而是直接进行转换。
边栏推荐
猜你喜欢

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

HUAWEI CLOUD data governance production line DataArts, let "data 'wisdom' speak"

华为云数据治理生产线DataArts,让“数据‘慧’说话”

Mongoose module

论文阅读之《Quasi-Unsupervised Color Constancy 》

Excel导入和导出

ERROR 2003 (HY000) Can‘t connect to MySQL server on ‘localhost3306‘ (10061)解决办法

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.

数据库的三大范式
![[MRCTF2020]Ezaudit](/img/80/d4656abdff20703591ffdc3f5a5ebc.png)
[MRCTF2020]Ezaudit
随机推荐
对话框 QDialog ( 详解 )
第5章 SQL高级处理
线程同步 控制执行顺序
MySQL 8.0.29 解压版安装教程(亲测有效)
Tensorflow中实现正则化
onenote使用
S7-200SMART中定时器的使用方法和常见注意事项汇总
一篇文 带你搞懂,虚拟内存、内存分页、分段、段页式内存管理(超详细)
Error occurred while trying to proxy request项目突然起不来了
Error EPERM operation not permitted, mkdir ‘Dsoftwarenodejsnode_cache_cacach两种解决办法
有没有并发系统设计的经验,我该怎么说?
esp32系列(5):esp32 蓝牙架构学习
关于内和调试无法查看ntdll内存的问题
图注意力机制
简易的命令行入门教程
有效的括号字符串[贪心练习]
强烈推荐APP破解常用工具集合!
JMeter笔记4 | JMeter界面介绍
Analysis and Simulation of Short Circuit Fault in Power System Based on MATLAB
Lotus 1.16.0 minimum snapshot export import