首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【C语言】数据类型(基本类型、构造类型、类型转换)

在C语言中,根据数值取值范围,可以将整型分为短整型(short int)、基本整型(int)、整型(long int)。...整型数据可以被修饰符signed和unsigned修饰,其中,被signed修饰整型称为有符号整型,被unsigned修饰整型称为符号整型。...基本格式:(类型名)(表达式) 浮点数与整型转换:将浮点数转换成整数时,将舍弃浮点数小数部分,只保留整数部分。将整型值赋给浮点型变量,数值不变,只将形式改为浮点形式,即小数点后带若干个0。...符号整数之间转换:将一个unsigned型数据赋给一个长度相同整型变量时,内部存储方式不变,但外部值可能改变。...将一个非unsigned整型数据赋给一个长度相同unsigned型变量时,内部存储形式不变,但外部表示时总是符号

1.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

C语言中数据类型

常量 5.1 整型常量 5.2 实型常量 5.3 字符型常量 5.4 转义字符 5.5 符号常量 6.变量 7.变量存储类别 8.混合运算 1.编码规范 代码缩进 代码缩进一般4个字符 #include...常量 整型常量 实型常量 字符型常量 5.1 整型常量 整型常量就是直接使用整型常数。整型常量可以是整型、短整型符号整型符号整型。...int long = 1000L;/*L表示整型*/ unsigned int long =500U;/*U表示符号整型*/ 八进制整数 要使用数据表达式形式是八进制,需要在常数前加0进行修饰。...= 0; 有符号整型符号整型使用关键字是long int,其中关键字int在编写时候是可以省略。...取值范围是-2147483648~2147483647 long iLongNum; iLongNum = 10; 符号整型 符号整型使用关键字是unsigned long int,其中int

1.1K20

【C语言】数据在内存中存储

符号数高位补符号位,符号数高位补0 2.3小端字节序介绍 大端字节序存储方式:补码低位放在内存高位,高位放在内存低位 例如:00000000 00000000 00000000 00010100int...%d是打印int型,也就是输出有符号十进制数字,%u是打印unsigned int,也就是输出符号十进制整数 3.整型提升是c程序设计语言中一项规定,在表达式进行计算时,所有的整型首先要提升为...当然要先看他是什么类型啦,既然是有符号数10000000高位就是符号位,补1后结果11111111 11111111 11111111 10000000 读取:打印时,因为打印符号数,那么高位就会被我们电脑认为是数值位...-20; unsigned int j = 10; printf("%d\n", i+j); //按照补码形式进行运算,最后格式化成为有符号整数 存储:i符号整型存储是补码,-20...): (1.指数存储):首先E一个符号整数(unsigned int),如果是单精度浮点数,E取值范围是0到255,如果是双精度浮点数,E取值范围是0到2047.但是科学计数法中E是可以出现负数

98620

C语言进阶-数据在内存中存储

浮点型在内存中存储解析 数据类型 ---- C语言基本内置类型 char //字符数据类型 unsigned char //signed(有符号)/unsigned(符号)...:111111111111111111111111110000000 //%u:以符号整型打印 //原:11111111111111111111111110000000 输出结果:4294967168...//补:11111111111111111111111111111111 //条件判定(以符号数参与表达式,结果是i被认为是一个非常数),一直都能执行语句(死循环) 浮点型在内存中存储 ---...,再把第一位1加上去 对于E E一个符号整数(unsigned int) 如果E8位,它取值范围0-255;如果E11位,它取值范围0-2047 但对于科学计数法来说E是可以出现负数...>即 s=0, M=1.001,E=3+127=130 9.0 ->0 10000010 001 0000 0000 0000 0000 0000(浮点数存储) 当这串内容以整型打印时(即以整型存储视角看待

85830

【C语言基础】:数据在内存中存储

printf打印a、b、c都是以**%d形式打印,%d**是来打印符号整型(打印是 原码),这里a、b、c都是字符,要整型提升成整型后才能进行打印。...a和b打印出来都是 -1,而c因为是符号,所以整型提升补0,正数原、反、补码都相同,所以打印出来是255。...,将整形数据存在char类型中会发生截断,32位会被截断成8位,截断后成为10000000,%u是打印符号整型,需要发生整型提升,因为现在最高位是1,所以要全部填1补满32位,以 %u打印不需要管是正数还是负数...浮点数存储 上面的代码中, num 和 *pFloat 在内存中明明是同⼀个数,为什么浮点数和整数解读结果会差别这么? 要理解这个结果,一定要搞懂浮点数在计算机内部表示方法。...至于指数E,情况就比较复杂 首先,E⼀个符号整数(unsigned int) 这意味着,如果E8位,它取值范围0 ~ 255;如果E11位,它取值范围0~2047。

12910

C语言进阶(七) - 数据储存

整型至少应该和整型一样整型至少应该和短整型一样。...符号类型没有负数,有符号类型既有正数,也有负数。 char类型数据在内存中本质上是以整数形式存放,也属于整形家族。...整型在内存中存储 创建一个整型变量时,首先在内存中其开辟相应空间,接着就是如何存储这个变量值。...而这三种表示形式中都可以分为两部分:符号位 + 数值位。 符号位表示整数正负:0整数,1整数。 数值位表示整数具体大小。 正整数原码、反码、补码均相同。...指数E 存入内存时: E是一个符号整数,如果E8位,取值范围 0\to255 ;如果E11位,取值范围 0\to2047 。

2K30

【C语言进阶】——深入剖析数据在内存中存储

%d:打印符号整型,认为内存中存放补码对应是一个有符号数。...-128存储在内存中补码1000 0000(截断),打印符号整数时,整型提升,char符号数,高位补符号位,即11111111 11111111 11111111 10000000,由于是打印符号整型...int i; for(i = 9; i >= 0; i - -) { printf(“%u\n”,i); } 这里,我们注意,i符号整型,前面正常打印,9 8 7 6 5 4 3 2...i是符号整形,-1对应符号整数是一个很大正数,所以循环还会一直进行下去,陷入死循环! 相信到这里,应该对整形存储有了较为清晰认识。接下来讲解以下浮点型是如何在内存中存储。 4....首先,E一个符号整数(unsigned int) 这意味着,如果E8位,它取值范围0-255;如果E11位,它取值范围0~2047。

74530

⭐️ 关键字深度剖析 ⭐️第三章(关键字sizeofsignedunsigned&原反补数据范围)

目录 前言 关键字-sizeof 关键字-signed\unsigned 有符号数vs符号数 整形在内存存储 原码、反码、补码 ​十进制和二进制转换 大小端 什么是大端小端 为什么都是补码 深入理解变量内容存入和取出...{1,2,3} sizeof(arr) 结果12(arr表示整个数组) sizeof(arr+0)//或者sizeof(arr[0]) 结果4(表示首元素地址) //所有的地址大小4(32位平台...short //短整型 unsigned short signed short int //整形 unsigned int signed int long //整型...//取:以什么样形式读取(打印)例:%d(有符号整型打印)%u(符号整形打印) //取数据一定要先看读取类型,然后才决定要不要看最高符号位 //如果不需要,直接二进制转成十进制;如果需要,则需要转成原码...总结规律 整数取值范围(n表示类型占用多少bite) 符号: [ 0 , 2 ^n - 1 ] 有符号: [ - 2 ^ ( n - 1 ), 2 ^ ( n - 1 ) -

31260

【CC++】C语言特性总结

. long 修饰int,整形数据,可省略被修饰int。 . signed 修饰整型数据,有符号数据类型。 . unsigned 修饰整型数据,符号数据类型。...,单位字节 sizeof返回值size_t size_t类型在32位操作系统下是unsigned int,是一个符号整数 int main() { int a; int b =...n", c);//用符号方式输出c值 return 0; } 整型:int 整型变量定义和输出 打印格式 含义 %d 输出一个有符号10进制int类型 %o(字母o) 输出8进制int...printf格式字符: 打印格式 对应数据类型 含义 %d int 接受整数值并将它表示符号十进制整数 %hd short int 短整数 %hu unsigned short 符号整数 %o...unsigned int 符号8进制整数 %u unsigned int 符号10进制整数 %x,%X unsigned int 符号16进制整数,x对应是abcdef,X对应是ABCDEF

1.2K10

C语言符号意思(看了必懂系列)「建议收藏」

short int 2 -32768~32767 整型 long int 4 -214783648~214783647 符号型 unsigned 2 0~65535 符号整型 unsigned...U或u 符号数 F或f 浮点数 4.常量类型 整数整数符号数,浮点数,字符,字符串,符号常数,转义字符。...表示输出类型格式字符 格式字符意义 d 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出符号整数(不输出前缀O) x 以十六进制形式输出符号整数(不输出前缀OX) u 以十进制形式输出符号整数...int *p; p指向整型指针变量 int *p[n]; p指针数组,由n个指向整型指针元素组成。...int (*p)[n]; p指向整型二维数组指针变量,二维数组列数n int *p() p返回指针值函数,该指针指向整型量 int (*p)() p指向函数指针,该函数返回整型量 int

1.4K20

【CC++】C语言特性总结

long修饰int,整形数据,可省略被修饰int。.signed修饰整型数据,有符号数据类型。.unsigned修饰整型数据,符号数据类型。...printf("c = %u\n", c);//用符号方式输出c值     return 0; } 整型:int  整型变量定义和输出  打印格式含义%d输出一个有符号10进制int类型...(整形)Windows4字节,Linux4字节(32位),8字节(64位)long long(长长整型)8字节 注意:  需要注意是,整型数据在内存中占字节数与所选择操作系统有关。...printf格式字符:  打印格式对应数据类型含义%dint接受整数值并将它表示符号十进制整数%hdshort int短整数%huunsigned short符号整数%ounsigned int...符号8进制整数%uunsigned int符号10进制整数%x,%Xunsigned int符号16进制整数,x对应是abcdef,X对应是ABCDEF%ffloat单精度浮点数%lfdouble

99500

C++处理数据

整型 C++提供了好几种整型,可以根据程序具体需求选择合适整型。不同C++整型类型占用内存也不一样,占用内存越大,整型数值范围也就越大,整型还分为有符号符号,即是否可表示正负。...基本类型分别是short、int、long和long long 且他们通过使用不同位数存储值,满足 short至少位 int至少于short一样 long至少与int一样 lomg long至少...程序如何确认常量是按什么类型存储,后缀表明了数字常量符号,如果是l表示long,u表示符号整数。...unsigned int 表示范围比int范围对于内存地址这类符号 char类型 char转为存储字符(字母和数字)而设计。...存储数字对于计算机算不了什么,编程语言通过数值编码实现了对字母存储,一个char是八位,他可以存储-128~127范围,如果是符号它可以存放0~255 很多系统支持字符不超过128个,虽然一般被用来表示字符

18420

【IOS 开发】Objective - C 入门 之 数据类型详解

十进制整数, 正数符号, 负数有 "-" 符号; -- %o : 八进制符号整数, 没有 0 前缀; -- %x : 十六进制符号整数, 没有 0x 前缀; -- %u : 十进制符号整数;...符号整型 : 符号整型 第一位 不是符号位, 范围比原来要, 例如 short int 范围是 正负3万, unsigned short int 范围是 0到6万, 将5万赋值给 该类型不报错...; 浮点数特殊值 :  -- 正无穷 : 正浮点数除以 0.0 得到正无穷, 正无穷大都相等, 正整数除以 0.0 得到整数边界值, short int 除以 0.0 得到 32767(2^15...-1); -- 负无穷 : 负浮点数除以 0.0 得到负无穷, 负无穷大都相等, 负整数除以 0.0 得到整数边界值, short int 除以 0.0 得到 -32768(2^15); --...0, 1, 2, 3 以此类推; 枚举值本质 : 枚举值属于符号整数, 可以使用 %u 占位符打印出来, 其值也能进行大小比较, 和四则运算; 枚举初值 : 枚举值可以在定义时候赋予一个初值; (

1.2K20

c标准库总结

类型最大值32767(2^15+1)UINT_MAX符号int类型最大值65535(2^16-1)LONG_MIN整型最小值-2147483647 (-2^31+1)LONG_MAX整型最大值.../符号整数类型  intmax_t uintmax_t 最大宽度有/符号整数类型 intptr_t uintptr_t 足以保有指针有/符号整数类型  宏  对应上述类型最大值、最小值以及特殊值...函数可生成独特文件名最大数量 类型  类型描述FILE适合存储文件流信息对象类型fpos_t适合存储文件中任何位置对象类型size_t符号整数类型,是sizeof关键字结果 <cstdlib...字符串转换成浮点型strtol字符串转换成长整型strtold字符串转换成长double型strtoll字符串转换成长长整型strtoul字符串转换成符号整型strtoull字符串转换成符号长长整型...快速结束调用进程system执行系统命令_Exit结束调用进程 搜索和排序    函数功能bsearch执行二分查找qsort数组排序 整型数相关    函数功能abs求绝对值div整数除法labs求整型绝对值

1.4K21

c标准库总结

类型最大值32767(2^15+1)UINT_MAX符号int类型最大值65535(2^16-1)LONG_MIN整型最小值-2147483647 (-2^31+1)LONG_MAX整型最大值.../符号整数类型  intmax_t uintmax_t 最大宽度有/符号整数类型 intptr_t uintptr_t 足以保有指针有/符号整数类型  宏  对应上述类型最大值、最小值以及特殊值...函数可生成独特文件名最大数量 类型  类型描述FILE适合存储文件流信息对象类型fpos_t适合存储文件中任何位置对象类型size_t符号整数类型,是sizeof关键字结果 <cstdlib...字符串转换成浮点型strtol字符串转换成长整型strtold字符串转换成长double型strtoll字符串转换成长长整型strtoul字符串转换成符号整型strtoull字符串转换成符号长长整型...快速结束调用进程system执行系统命令_Exit结束调用进程 搜索和排序    函数功能bsearch执行二分查找qsort数组排序 整型数相关    函数功能abs求绝对值div整数除法labs求整型绝对值

1.2K30

数据在内存中存储——整数

——袁枚 1、整数存储 任意一个整数(当然是不能超过INT_MAX一个数字),都是以2进制表示方式存储,表示方法有三种,分别为原码,反码,补码 而这三种方法都是既有符号位又有数值位两个部分,...%d - 是以十进制形式打印符号整数 整型提升: 1、当是符号时候,提升时候,高位补0。 2、当是有符号时候,提升时候,是按照最高位置补,0的话就补上0,1的话就补上1。...:%u是按照符号形式打印。...,但是最后又是%u打印符号整型,所以就相当于打印一个数子二进制为11111111 11111111 11111111 10000000 这下结果就是对了。...所以,整型提升时候,是看a到底是有没有符号,无论%d还是%u打印方式,整型提升看是数字类型本身,只有打印时候,才会在意打印形式。

13110

C语言常用标准库解读

这个文件里定义: 类型size_t(sizeof运算符结果类型,是某个符号整型); 类型ptrdiff_t(两个指针相减运算结果类型,是某个有符号整型); 类型wchar_t(宽字符类型,是一个整型...,包括空格 int isgraph(c) c是可打印字符,不包括空格 int isxdigit(c) c是十六进制数字字符 int ispunct(c) c是标点符号 int tolower(int c...n表示size_t类型参数(size_t是一个符号整数类型),c是整型参数(在函数里转换到char): 函数原型 意义解释 size_t strlen(cs) 求出cs长度 char *strcpy...ldiv_t ldiv(long n, long m) 同上,参数整数 4.数值转换 函数原型 意义解释 double atof(const char *s) 由串s构造一个双精度值 int atoi...原型是: int atexit(void (*fcn)(void)) 可用本函数把一些函数注册结束动作。被注册函数应当是返回值函数。注册正常完成时atexit返回值0,否则返回非零值。

1.3K2019

c++ format函数 字符串乱码_C语言中常用标准库函数有哪些?

这个文件里定义:   类型size_t   (sizeof运算符结果类型,是某个符号整型);   类型ptrdiff_t(两个指针相减运算结果类型,是某个有符号整型);   类型wchar_t ...n表示size_t类型参数(size_t是一个符号整数类型),c是整型参数(在函数里转换到char):   函数原型意义解释size_t strlen(cs)求出cs长度char *strcpy...n相关错误信息串(指向该错误信息串指针)char *strtok(s,ct)在s中查寻由ct中字符作为分隔符而形成单词   存储区操作       还有一组字符数组操作函数(存储区操作函数),名字都以...原型是:   int atexit(void (*fcn)(void))      可用本函数把一些函数注册结束动作。被注册函数应当是返回值函数。...设有数组base[0],...,base[n-1],元素大小size。用qsort可以把这个数组元素按cmp确定上升顺序重新排列。

1.1K30
领券