服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - C语言编程基础char类型转换示例

C语言编程基础char类型转换示例

2022-12-16 14:24jiangwei0512 C/C++

这篇文章主要为大家介绍了C语言编程基础char类型转换示例代码,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

代码

如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#inlcude <stdio.h>
 
void func1(void)
{
    char a = 0x7F;
    unsigned char b = a;
    unsigned int c = a;
 
    printf ("a: %d(0x%x)\n", a, a); // a: 127(0x7f)
    printf ("b: %d(0x%x)\n", b, b); // b: 127(0x7f)
    printf ("c: %d(0x%x)\n", c, c); // c: 127(0x7f)
}
 
void func2(void)
{
    char a = 0x80;
    unsigned char b = a;
    unsigned int c = a;
 
    printf ("a: %d(0x%x)\n", a, a); // a: -128(0xffffff80)
    printf ("b: %d(0x%x)\n", b, b); // b: 128(0x80)
    printf ("c: %d(0x%x)\n", c, c); // c: -128(0xffffff80)
}
 
void func3(void)
{
    char a = 0xFF;
    unsigned char b = a;
    unsigned int c = a;
 
    printf ("a: %d(0x%x)\n", a, a); // a: -1(0xffffffff)
    printf ("b: %d(0x%x)\n", b, b); // 255(0xff)
    printf ("c: %d(0x%x)\n", c, c); // c: -1(0xffffffff)
}
 
int main(void)
{
    func1();
    func2();
    func3();
 
    return 0;
}

对应的结果已经放在注释中。

分析

首先需要说明的是printf()函数做格式化时,默认将值看成是32位的,所以示例中的某些char才会显示成了8个字节的。

其实当char往int转换时,会根据最高位的值进行不同的转换,如果是最高位是1,则转换时高24位也都是1,反之则是0,这也是为什么最终打印结果是注释中显示的那样的原因。

以上就是C语言编程基础char类型转换示例的详细内容,更多关于C语言编程char类型转换的资料请关注服务器之家其它相关文章!

原文链接:https://blog.csdn.net/jiangwei0512/article/details/124516174

延伸 · 阅读

精彩推荐
  • C/C++C/C++项目编译工具简单介绍

    C/C++项目编译工具简单介绍

    我们给大家带来了一篇关于C/C++项目编译工具简单介绍的文章,大家在项目编译前可以先阅读下。...

    躺椅可眷3912021-08-10
  • C/C++实例讲解C++编程中的虚函数与虚基类

    实例讲解C++编程中的虚函数与虚基类

    这篇文章主要介绍了C++编程中的虚函数与虚基类的实例讲解,虚函数与虚基类的使用是C++入门学习中的基础知识,需要的朋友可以参考下...

    孙东4742021-03-25
  • C/C++使用C语言详解霍夫曼树数据结构

    使用C语言详解霍夫曼树数据结构

    这篇文章主要介绍了使用C语言详解霍夫曼树数据结构,包括一道AMC相关的例题演示需要的朋友可以参考下...

    yaoowei20124382021-03-06
  • C/C++Cocos2d-x保存用户游戏数据CCUserDefault类使用实例

    Cocos2d-x保存用户游戏数据CCUserDefault类使用实例

    这篇文章主要介绍了Cocos2d-x保存用户游戏数据CCUserDefault类使用实例,需要的朋友可以参考下...

    C语言程序设计8802021-02-02
  • C/C++C++踩坑实战之构造和析构函数

    C++踩坑实战之构造和析构函数

    不论是构造函数,还是析构函数,都是C++、C#语言相对于其他语言而言特殊的地方,它是为了方便类中对象的初始化,这篇文章主要给大家介绍了关于C++踩坑实战...

    Just for Life.8422021-12-03
  • C/C++C++中getline()和get()的方法浅析

    C++中getline()和get()的方法浅析

    大家都知道作为C++获取输入流的方法,几乎在任何一本资料书上getline()方法和get()方法都作为入门级的方法进行讲述,即便如此,笔者在学习C++的过程中仍...

    C++教程网10192021-04-19
  • C/C++VC实现ODBC数据库操作实例解析

    VC实现ODBC数据库操作实例解析

    这篇文章主要介绍了VC实现ODBC数据库操作的方法,非常有实用价值,需要的朋友可以参考下...

    C语言程序设计3722021-01-24
  • C/C++C语言实现简单的扫雷游戏操作

    C语言实现简单的扫雷游戏操作

    这篇文章主要为大家详细介绍了C语言实现简单的扫雷游戏操作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    恋浅笑10582021-10-25