在 c语言中int long unsigned 和 char这四种类型数据的转换规律是_____.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 c语言中int long unsigned 和 char这四种类型数据的转换规律是_____.相关的知识,希望对你有一定的参考价值。
谢谢了,请问是为什么?这种转换是啥玩意
首先,在C中,数据之间的运算必须是同类型的才能进行运算。如果类型不一致,就必须先转换成相同的类型----------由低级别 → 高级别转换。
本题中,数据类型级别由低到高分别为:char→int→unsigned→long。转换时由低级别向高级别转换。
比如,有两个数的数据类型分别为:char型跟long型。 就要先char转换为long型(因为long级别比char高),再进行运算。
但是不能理解为:先将char转换成int,再转换成unsigned,再转换成long。
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。
在开发中,他们还考虑把UNIX移植到其他类型的计算机上使用。C语言强大的移植性在此显现。机器语言和汇编语言都不具有移植性,为x86开发的程序,不可能在Alpha,SPARC和ARM等机器上运行。而C语言程序则可以使用在任意架构的处理器上,只要那种架构的处理器具有对应的C语言编译器和库,然后将C源代码编译、连接成目标二进制文件之后即可运行。
参考技术A 首先,在C中,数据之间的运算必须是同类型的才能进行运算。如果类型不一致,就必须先转换成相同的类型----------由低级别 → 高级别转换。
本题中,数据类型级别由低到高分别为:char→int→unsigned→long。转换时由低级别向高级别转换。
比如,有两个数的数据类型分别为:char型跟long型。 就要先char转换为long型(因为long级别比char高),再进行运算。 但是不能理解为:先将char转换成int,再转换成unsigned,再转换成long。
希望对您有所帮助!追问
谢谢。请问x2b2这个不是合法整数,那里错了?为什么?谢谢了
追答十六进制整常数由 前缀(0X或0x) 和 数码(0~9、A~F或a~f) 组成。
所以x2b2是非法的。
错在前缀 x ,应该改为 0X或0x。 ---------------- 0是数字的0,不是英文字母O.
01010B呢
追答也是非法的。
因为 以0为前缀的是八进制, 八进制的数码在0~7之间,不可能有字母B。 所以非法
long long 在c语言中是啥类型
“longlongint”在C语言中是64位长整型数据类型。longlong是属于int型,一般来讲,是longint型大小的两倍,int型的4倍。
“longlongint”在C语言中可以简写为“longlong”,作为“long”和“int”数据类型的强化版数据类型,它能支持的整数范围是-2^63到2^63-1。而先前的“long”是32位长整型数据类型,整数范围仅能支持到-2^31至2^31-1。
“longlongint”和“unsignedlonglongint”都是在C99标准中才被引进的。
扩展资料:
需要注意:
longlong是一个后来加上去的数值类型,也就是说非常老的编译器是不支持这个数据类型的(如VC++6.0)。
C99标准引入的主要新功能:
1、对编译器的限制增加了,比如每行源代码至少需要4095字节,变量和函数名需要63字节(extern最多需要31字节)。
2、添加了新的关键字restrict,inline,_Complex,_Bool。
3、支持longlong、longdouble_Complex、float_Complex等类型。
4、一个不确定长度的数组。数组的长度是一个变量。当你声明一个类型时,你写一个int[*]。但就效率和执行而言,这并不是一种新类型。所以你不能在全局或结构联合中使用它,如果你使用类似的东西,goto语句是受约束的。
5、与C89标准相比,C99引入了一种新的结构/数组初始值设定项,名为指定初始值设定项。
6、支持十六进制浮点数描述。
7、添加了一个内置的本地静态字符数组变量,它可以用于获取当前函数的函数名。
8、函数的默认返回类型是int型。
参考资料来源:百度百科-C99
参考技术Along long是属于int型, 一般来讲, 是long int型大小的两倍, int型的4倍.
但是需要注意的是long long是一个后来加上去的数值类型, 也就是说非常老的编译器是不支持这个数据类型的(如VC++6.0).
如果在此类编译器下使用长长整型, 以VC++6.0为例, 就要用它的自定义数据类型:__int64. 若要输入输出(包括C++), 则只能用printf或scanf函数. 如:
printf("%l64d", i64); 参考技术B long long 在c语言中是什么类型?“longlongint”在C语言中是64位长整型数据类型。longlong是属于int型,一般来讲,是longint型大小的两倍,int型的4倍。
“longlongint”在C语言中可以简写为“longlong”,作为“long”和“int”数据类型的强化版数据类型,它能支持的整数范围是-2^63到2^63-1。而先前的“long”是32位长整型数据类型,整数范围仅能支持到-2^31至2^31-1。
“longlongint”和“unsignedlonglongint”都是在C99标准中才被引进的。
扩展资料:
需要注意:
longlong是一个后来加上去的数值类型,也就是说非常老的编译器是不支持这个数据类型的(如VC++6.0)。
C99标准引入的主要新功能:
1、对编译器的限制增加了,比如每行源代码至少需要4095字节,变量和函数名需要63字节(extern最多需要31字节)。
2、添加了新的关键字restrict,inline,_Complex,_Bool。
3、支持longlong、longdouble_Complex、float_Complex等类型。
4、一个不确定长度的数组。数组的长度是一个变量。当你声明一个类型时,你写一个int[*]。但就效率和执行而言,这并不是一种新类型。所以你不能在全局或结构联合中使用它,如果你使用类似的东西,goto语句是受约束的。
5、与C89标准相比,C99引入了一种新的结构/数组初始值设定项,名为指定初始值设定项。
6、支持十六进制浮点数描述。
7、添加了一个内置的本地静态字符数组变量,它可以用于获取当前函数的函数名。
8、函数的默认返回类型是int型。 参考技术C long long是C99标准新加的,64位长整形,某些老古董编译器不支持该类型,所以如果要使用的话要注意编译器对C标准的支持,如果不支持可以使用编译器自定义的长整形(如VC的__int64)。 参考技术D long long 类型占64个字节。
符号属性 长度属性 基本型 所占位数 取值范围 输入符举例
[signed] long long [int] 64 -2^63 ~ 2^63-1 %I64d
unsigned long long [int] 64 0 ~ 2^64-1 %I64u、%I64o、%I64x
以上是关于在 c语言中int long unsigned 和 char这四种类型数据的转换规律是_____.的主要内容,如果未能解决你的问题,请参考以下文章
(C语言)unsigned long类型变量输出时,格式转换说明符应如何定义?