第二章 数据类型、运算符与表达式(三)

本文详细介绍了C语言中整型数据的表示形式(十进制、八进制和十六进制),以及它们之间的转换方法。还讨论了整型变量的分类,包括基本型、短整型、长整型和无符号类型,以及如何确定变量内存大小。同时,文章解释了常量类型和特殊写法,如无符号、长整型和浮点型的表示。
摘要由CSDN通过智能技术生成

二、C语言的数据类型

2、整型数据
在C语言里,整数有三种表示形式:十进制,八进制,十六进制。
整型数据如下:
(1)十进制数:123、-456、0
十进制数4553.87可以表示为:
逢十进一
在这里插入图片描述

(2)八进制数:以0开头的数字是八进制数 ,八进制数并不常用,对其粗略掌握即可
以0开头,由0~7组成的数,如 0126, 050000
逢八进一
在这里插入图片描述

(3)十六进制数:以0x开头的数是十六进制数,如Ox123,十六进制数比较常用,需要对其进行一定的掌握
以0X或0x开头,由09,AF或a~f 组成的数,如 0x12A, 0x5a000
用A来表示10,B表示11,C表示12,D表示13,E表示14,F表示15
逢十六进一
在这里插入图片描述

八进制、 十六进制数转换为十进制数方法:
只需要乘以 2,再相加、取整数是对应的十进制数。
八进制数 转十进制
012=(1X81) +(2X8^0) = 8+2=10

得出的结果是十进制数10

十六进制数转十进制
0x12= (1X161)+(2X160)+ = 2+16+2=18

得出的结果是十进制数18

十进制数转换为八进制、 十六进制数方法:
只需要用十进制数除以8或16,取每一步的余数,余数倒序排列

例:100转八进制和十六进制
在这里插入图片描述

扩展:
二进制数
逢二进一
例:十进制20 转二进制
在这里插入图片描述

十进制小数转换成二进制小数采用"乘2取整,顺序排列"法
用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。

例:十进制0.625转二进制
在这里插入图片描述

例:十进制13.25转二进制
在这里插入图片描述

练习:
八进制0247 转十进制
十六进制0xf7 转十进制
十进制167转八进制
十进制246转十六进制
十进制100.75转八进制
十进制100.75转十六进制
十进制100.75转二进制
八进制0144.6转十进制
十六进制0x64.C转十进制
二进制11011.101转十进制

整型变量的分类
基本型 int
短整型 short int(简写为 short)
长整型 long int(简写为 long)
无符号型 unsigned int、unsigned short、unsigned long,只能存放不带符号的数字(正数和零),不能存放负数 ,所以 ,一个无符号整型变量存放的数字范围比带符号整型变量存放的数字范围大一倍
在这里插入图片描述

如果无法确定某个变量或者某种数据类型所占用的内存大小(单位字节) ,可以使用 sizeof 运算符获得, 但得要特别注意的是,用 sizeof 运算符获得某个变量所占用的内存大小时,和该变量中保存的数值内容没有任何关系。

在这里插入图片描述

整型变量的定义

常量的类型
常景是分类型的,也可以认为不分类型
比如 210 是什么类型的常量? 取决于这个值赋给什么类型的变量:
int abc=210; //这不是赋值语句,这是定义abc变量,初始化值为210;
short bcd=210; //这也不是赋值语句,也是定义 bcd变量,初始化值为210;
bcd= 300; //这才是赋值语句,带=的语句,开头没有类型名int、short等,因此是赋值语句
注意:赋值语句后面讲,这里只要知道是把新的300赋给了bcd变量,把210的初始值取代了。

有一些特殊写法需要注意:
(1)在一个常量后面加 一个字母 U 或u,表示这个常量用无符号整型方式存储,相当于unsigned int
(2)在一个常数后面加一个字母 L 或l,表示这个常量用长整型方式存储,相当于 long
(3)在一个常数后而加一个字母 F或 f,表示这个常量用浮点方式存储,相当于f1oat

这种写法没有多意义,因为这些常量一般都会赋值给一些变量,实际的类型取决于这些变量的类型。之所以提,是因为别人的代码里可能会这么写,所以要了解。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值