C 强制类型转换 char转int的小陷阱
今天遇到一个小陷阱。
本来想看一个字符转成整型之后对应的值,结果竟意外的发现,转成的整型大于256。我:????字符不是只有一个字节么?
我把这个字符的前后字符都置0,结果还是一样。我就懵逼了。一查才知道,和signed char转成int的“潜规则”有关。
原来,对于signed char,将其转化为int时,最高位为符号位,那么扩展时,就会对符号位进行扩展,即将整型比字符多出来的位全部设置成与符号位相同。比如0x80,变成int就会变成0xffffff80;而0x70就会变成0x00000070。
而unsigned char就不会进行扩展,因此想表示byte的时候,最好使用unsigned char。
C 强制类型转换 char转int的小陷阱相关推荐
- Java 类型转换: char转int
Java类型转换: char转int 源码 package com.onlydemo.javalang;/*** 类型转换: char转int* * 1.char-'0' 将char转int* 2.C ...
- C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...
- 下面中???该如何填写,才可以正确执行强制类型转换? int (*monthp)[31]; monthp = (???)malloc(31);
例子:下面中???该如何填写,才可以正确执行强制类型转换? int (*monthp)[31]; monthp = (???)malloc(31); 在这里int (*monthp)[31];是一个套 ...
- c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...
- C语言里 指针变量强制类型转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...
强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...
- Java的知识点6—— 强制类型转换、基本类型转化时常见错误和问题、 简单的键盘输入和输出
强制类型转换 强制类型转换,又被称为造型,用于显式的转换一个数值的类型.在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出. public class Test2 {pu ...
- linux 强制类型转换,转载 指针强制类型转换
当我们初始化一个指针或给一个指针赋值时,赋值号的左边是一个指针,赋值号的右边是一个指针表达式.在我们前面所举的例子中,绝大多数情况下,指针的类型和指针表达式的类型是一样的,指针所指向的类型和指针表达式 ...
- JAVA强制类型转换
强制类型转换,又被称为造型,用于显式的转换一个数值的类型.在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出. 语法格式: (type)var 运算符"()&qu ...
- C++ 重载强制类型转换运算符
C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符. 类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数.经过适当重载后,(类型名)对象 ...
最新文章
- ​AI技术重现的老北京原声影像又火了,网友:这口音太过真实
- python播放本地视频教程_怎样用python播放视频
- 美国诚实签经验——中英文行程单、往返机票、用英语面试的申请者通过率用中文面试的申请者的通过率、一直保持着微笑,看上去很自信,也很诚恳、户口簿带上最好...
- 模拟spring - 简单实现spring IOC
- linux suse 时区设置,suse设置时间服务器
- Python Requests快速入门
- oracle rac重建grid,oracle 11g rac安装之grid报错解决
- 静态NAT技术三部曲
- OC中数组排序的3种方法
- JDK9的新特性:String压缩和字符编码
- 小白都看得懂的监督学习与无监督学习
- 运维经验 清空大量日志
- Python3.2官方文档翻译--作用域和命名空间
- AD转换实验 编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值。(如:AD转换后的数字量为128,则
- [数据结构与算法] : 栈的链式实现
- Linux杀毒软件ClamAV初次体验
- 机构、基民双输,基金销售的利益困局如何破?
- 发一些乙醇原创的资料
- Datagrid striped 不工作?
- aar打包依赖 android_打包依赖.aar文件以及坑总结
热门文章
- 今天遇到res\layout\activity_easy_bid.xml.r8010:0: error: Resource entry activ
- 联想拯救者R720安装Win10(以及使用PE老毛桃安装不能识别固态硬盘问题)
- JavaScript仿淘宝京东放大镜效果(鼠标事件)------JavaScript学习之路10
- 电商管理系统原型分享- E-Market
- Java判断季节从属
- 算法分析(1)-增长数量级分类总结
- 明日方舟刷龙门币,爱蜂窝苹果IOS脚本
- 合并统计Excel表格
- 什么又是数字证书?(数字证书与数字签名什么关系?)数字信封、PGP又是啥?
- 航空产品数字化设计与NVIDIA Quadro FX专业显卡