今天遇到一个小陷阱。
本来想看一个字符转成整型之后对应的值,结果竟意外的发现,转成的整型大于256。我:????字符不是只有一个字节么?
我把这个字符的前后字符都置0,结果还是一样。我就懵逼了。一查才知道,和signed char转成int的“潜规则”有关。
原来,对于signed char,将其转化为int时,最高位为符号位,那么扩展时,就会对符号位进行扩展,即将整型比字符多出来的位全部设置成与符号位相同。比如0x80,变成int就会变成0xffffff80;而0x70就会变成0x00000070。
而unsigned char就不会进行扩展,因此想表示byte的时候,最好使用unsigned char。

C 强制类型转换 char转int的小陷阱相关推荐

  1. Java 类型转换: char转int

    Java类型转换: char转int 源码 package com.onlydemo.javalang;/*** 类型转换: char转int* * 1.char-'0' 将char转int* 2.C ...

  2. C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

  3. 下面中???该如何填写,才可以正确执行强制类型转换? int (*monthp)[31]; monthp = (???)malloc(31);

    例子:下面中???该如何填写,才可以正确执行强制类型转换? int (*monthp)[31]; monthp = (???)malloc(31); 在这里int (*monthp)[31];是一个套 ...

  4. c语言不通类型指针转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

  5. C语言里 指针变量强制类型转换,C语言之强制类型转换与指针--#define DIR *((volatile unsigned int *) 0x0022)...

    强制类型转换形式:(类型说明符) (表达式) 举例说明:1) int a; a = (int)1.9; 2)char *b; int *p; p = (int *) b; //将b的值强制转换为指向整 ...

  6. Java的知识点6—— 强制类型转换、基本类型转化时常见错误和问题、 简单的键盘输入和输出

     强制类型转换 强制类型转换,又被称为造型,用于显式的转换一个数值的类型.在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出. public class Test2 {pu ...

  7. linux 强制类型转换,转载 指针强制类型转换

    当我们初始化一个指针或给一个指针赋值时,赋值号的左边是一个指针,赋值号的右边是一个指针表达式.在我们前面所举的例子中,绝大多数情况下,指针的类型和指针表达式的类型是一样的,指针所指向的类型和指针表达式 ...

  8. JAVA强制类型转换

    强制类型转换,又被称为造型,用于显式的转换一个数值的类型.在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出. 语法格式: (type)var 运算符"()&qu ...

  9. C++ 重载强制类型转换运算符

    C++ 中,类型的名字(包括类的名字)本身也是一种运算符,即类型强制转换运算符. 类型强制转换运算符是单目运算符,也可以被重载,但只能重载为成员函数,不能重载为全局函数.经过适当重载后,(类型名)对象 ...

最新文章

  1. ​AI技术重现的老北京原声影像又火了,网友:这口音太过真实
  2. python播放本地视频教程_怎样用python播放视频
  3. 美国诚实签经验——中英文行程单、往返机票、用英语面试的申请者通过率用中文面试的申请者的通过率、一直保持着微笑,看上去很自信,也很诚恳、户口簿带上最好...
  4. 模拟spring - 简单实现spring IOC
  5. linux suse 时区设置,suse设置时间服务器
  6. Python Requests快速入门
  7. oracle rac重建grid,oracle 11g rac安装之grid报错解决
  8. 静态NAT技术三部曲
  9. OC中数组排序的3种方法
  10. JDK9的新特性:String压缩和字符编码
  11. 小白都看得懂的监督学习与无监督学习
  12. 运维经验 清空大量日志
  13. Python3.2官方文档翻译--作用域和命名空间
  14. AD转换实验 编写程序利用ADC0804 AD转换器采集电位器的模拟电压,将采集到的数字量在程序中换算成实际采集的模拟电压,并用数码管显示所采集的实际模拟电压值。(如:AD转换后的数字量为128,则
  15. [数据结构与算法] : 栈的链式实现
  16. Linux杀毒软件ClamAV初次体验
  17. 机构、基民双输,基金销售的利益困局如何破?
  18. 发一些乙醇原创的资料
  19. Datagrid striped 不工作?
  20. aar打包依赖 android_打包依赖.aar文件以及坑总结

热门文章

  1. 今天遇到res\layout\activity_easy_bid.xml.r8010:0: error: Resource entry activ
  2. 联想拯救者R720安装Win10(以及使用PE老毛桃安装不能识别固态硬盘问题)
  3. JavaScript仿淘宝京东放大镜效果(鼠标事件)------JavaScript学习之路10
  4. 电商管理系统原型分享- E-Market
  5. Java判断季节从属
  6. 算法分析(1)-增长数量级分类总结
  7. 明日方舟刷龙门币,爱蜂窝苹果IOS脚本
  8. 合并统计Excel表格
  9. 什么又是数字证书?(数字证书与数字签名什么关系?)数字信封、PGP又是啥?
  10. 航空产品数字化设计与NVIDIA Quadro FX专业显卡