`

c语言类型转换注意总结

    博客分类:
  • c
阅读更多

今天看了下计算机笔试相关的题,对c语言类型转换做了一点点实验,解决了以前的迷茫!

1.signed和unsigned的区别

对于这个区别我想说的是,无论是多少字节的类型,我认为只看最高位是1还是0。

如果是1的话,signed向unsigned转换时将转化为无符号型数据(即无负数)将成为正数,

如果是0的话,signed向unsigned转化时将不改变原有正负性。

unsigned向signed转化时同理。

2.字节长度大的与字节长度小的之间能的转化

如:char 一个字节向int (windows 32位机器)转化时将用其最高位来填充int型的高位3个字节

相反,将截取最后一个字节作为转化后的结果。

其他,int与float,原理一样

附上我的测试代码:

#include<stdio.h>

int main(){
	signed char a=0xe0;
	unsigned int b = a;
	unsigned char c = a;
	int d = 2147483647; 
	char e = d;
	printf("a.size = %d ,b.szie = %d ,c.size = %d \n",sizeof(a),sizeof(b),sizeof(c));
	printf("a = %d, b = %u , c = %d \n",a,b,c);//2^32-2^5-1
	printf("d = %d (int) , e = %d (char) ",d,e);
	/*
	在将a 向unsigned int型转化时,
	由于signed char是一个字节的,将用其高位进行填充b的高位的3个字节 结果为11111111 11111111 11111111 11100001
	将 a 向unsigned char转化时高位的符号位将做位数据为出现结果为 11100001的整型结果即:2^8-1-2^5+1 = 224
	d为01111111 11111111 11111111 11111111转化为char时将从最后一个字节截断,去最后一个字节作为结果
	*/
}

 

0
0
分享到:
评论

相关推荐

    C语言中强制数据类型转换的总结

    C语言中强制数据类型转换的总结 C语言中强制数据类型转换是非常重要的,需要逐步进行,有些是自然的转型,有些需要根据需要强制转换。下面我们将详细讨论数据类型转换的规则和机制。 首先,需要了解数据类型转换的...

    C语言实现数值类型转换源代码

    本文将基于给定的文件信息“C语言实现数值类型转换源代码”,深入探讨C语言中数值类型转换的相关知识点,包括基本概念、常见类型转换方法以及实际应用中的注意事项。 ### 一、数值类型转换的基本概念 在C语言中,...

    C语言数据类型转换的探讨.pdf

    总结,C语言中的数据类型转换是一项基本操作,它涉及隐式和显式的转换方式,以及各种数据类型的兼容性、指针转换和枚举转换等方面。理解并熟练掌握这些转换规则,对于编写高效、安全的C语言代码至关重要。在实际编程...

    C语言知识点总结

    需要注意的是,从较高类型向较低类型转换时可能会发生精度损失问题,例如将浮点数强制转换为整型可能会丢失小数部分。 当涉及超出数据类型最大值的赋值操作时,可能会产生溢出。例如,将`***`赋值给`int`类型变量时...

    C语言第三章 数据类型经典总结

    4. **数据类型转换**:数据类型转换分为自动转换和强制类型转换。自动转换在不同类型的数据进行运算时自动发生,而强制类型转换则需要程序员明确指定,例如 `(int)`用于将其他类型转换为整型。 5. **整型**:C语言...

    C语言指针知识点总结.pdf

    综上所述,C语言指针的知识点涵盖了指针声明、初始化、运算、与数组和函数的关系、字符串处理、内存管理、类型转换以及高级用法等。掌握这些知识点,有助于编写高效、复杂的C程序。在学习指针时,务必注意指针的类型...

    C语言常用的库函数总结

    以下是对C语言常用库函数的详细知识点总结: 一、标准定义 标准定义涉及的是C语言中用于数据类型和宏定义的基本定义。其中包括: - `size_t`:使用`sizeof`运算符时得到的结果类型,通常是一个无符号整数类型。 - `...

    C语言基础知识点总结

    9. **强制类型转换**:不改变变量本身的值,只改变当前表达式的值。 10. **前置与后置递增/递减运算符**:`++`、`--`在变量后面表示递增/递减发生在下次使用时;在变量前面表示立即发生。 11. **复合赋值运算符**:...

    C语言知识点总结完美版.pdf

    本知识点总结将围绕C语言的基础知识、结构、数据类型、运算符、预处理和程序设计基础等方面展开。 首先,C语言程序的基本结构包括顺序结构、选择结构(分支结构)和循环结构。顺序结构就是程序按照编写顺序依次执行...

    C语言培训学习资料总结

    【C语言培训学习资料总结】 C语言是一种基础的编程语言,尤其适合初学者入门。学习C语言时,首先要了解C源程序的框架。一个标准的C程序通常包括编译预处理(例如包含头文件),主函数`main()`,以及可能的其他辅助...

    超实用的C语言基础知识总结

    本资源摘要信息将对C语言的基础知识进行总结,涵盖了计算机基础知识、C语言基础知识、标识符、整数与实数、算术表达式、赋值表达式、复合赋值表达式、自加表达式、逗号表达式、强制类型转换、字符等方面的知识点。...

    c语言知识总结复习资料

    - 关键字不可作为用户标识符,例如`if`(注意区分大小写)。 - 预定义标识符如`#define`、`scanf`、`printf`等,它们也可以被用作用户标识符。 - 用户标识符应避免与关键字冲突,并符合命名规范。 #### 第四节 进制...

    C语言新手总结笔记

    根据给定的信息,我们可以将这份C语言新手总结笔记的关键知识点归纳如下: ### 一、顺序结构 顺序结构是最基本的程序结构,按照代码书写的顺序依次执行。 #### 1. 大写字母转换为小写字母 - **原理**:ASCII码表...

    C语言知识总结学习指导

    ### C语言知识总结学习指导 #### 一、数据类型与变量命名规则 1. **数据类型**:C语言支持多种数据类型,包括整型(int)、字符型(char)、浮点型(float/double)等。每种数据类型都有其特定的用途和存储空间大小。 ...

    C语言总结(包含易考和易错知识点)

    十、强制类型转换 * 一定是(int)a不是int(a),注意类型上一定有括号的 * 注意(int)(a+b)和(int)a+b的区别 十一、表达式 * 赋值表达式:表达式数值是最左边的数值 * 自加、自减表达式:假设a=5,++a(是...

    C语言基础知识简单总结

    ### C语言基础知识精简概述 #### 数据类型与常量 ...通过以上对C语言的基础知识点的总结, 我们可以看到C语言作为一种结构化编程语言, 具备丰富的数据类型、运算符以及控制流结构, 适用于各种应用程序开发。

    c语言基础知识总结.pdf

    C语言基础知识总结是计算机编程语言的基础知识,本文总结了C语言的基础知识点,涵盖程序结构、数据类型、运算符、控制结构、函数、数组、指针等领域。 一、程序结构 * 程序结构有三种:顺序结构、选择结构(分支...

    C语言重要知识点总结(汇总)

    ### C语言重要知识点总结 #### 一、C语言程序结构 C语言的程序结构主要包含三种类型:**顺序结构**、**选择结构**(也称为**分支结构**)、**循环结构**。 - **顺序结构**:按照代码的先后顺序依次执行。 - **...

Global site tag (gtag.js) - Google Analytics