初始C语言(7.1)(基本数据类型)的详细内容解答

目录

基本数据类型和数;

整型和字符型;

位和CHAR_BIT;

sizeof运算符;


基本数据类型和数;

算数类型和基本数据类型:

像int和double的数据类型,一般称为算数类型。然而算数类型是多种数据的统称,大体上可以分成两种类型:

下面是一些常用类型:

基数:

大家在使用计算机中的所有数据都是用ON|OFF信号(0和1)来表示的。所以对于计算机而言,二进制数是最容易理解的。但使用二进制数也是有一定的缺陷的,所有还有八进制数十六进制数

那怎么多进制到底是什么意思呢?接下来可以看看下面这个图能不能发现一点点规律?

 然而二进制则使用0和1来表达。那十进制的0—10怎么表示呢?

对二级制来说,末尾一定是0或者1。

二进制的计算是由最后一位数开始是2的零次方计算,以此类推(+1),进行加法运算。

比如:二进制1010转换成十进制!

基数转换:

由八进制,十六进制,二进制向十进制转换

 这个思路对于八进制吗,十六进制和二进制都可以轻轻松松的转换为十进制。(切记都是从0开始

但是二进制转换为十进制数有一个规律就是偶数的末尾是0,奇数的末尾是1。意思就是转换的数字除以2所得到的余数就是末尾数字的值

例如:十进制数字57除以2的余数是1,那么转换为二进制的数字的末尾也就是1。

二级制和十六进制的基数转换技巧:

 可以发现4位二进制数和1位十六进制数是相互对应的。

所以利用好这个就可以很好的转换二进制数到十六进制的基数转换。

例如:转换二进制数0111101010011100,只需要每四位隔开一下,对应十六进制就行。

整型和字符型;

C语言处理整数的时候,可以根据用途个目的灵活运用以下数据类型。

声明变量的时候,可以通过增加类型说明符,signed和unsigned来指定其中一种数据类型。若不加类型说明,则默认有符号!

在c语言中,<limits.h>头文件决定了整型和字符型变量的各种属性,定义在该头文件中的宏限制了各种变量类型的值。这些限制指定了变量不能存储任何超出这些限制的值。那我们接下来看看这个头文件包含那些值?

字符型:

char是可以用来保存字符的整型。

对于没有声明signed和unsigned的char型,到底是有符号的还是没有符号?我们可以写一串代码来验证。

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

#include <limits.h>

int main(void)
{

	printf("这个编译中的char型是");

	if (CHAR_MIN)
	{
		puts("有符号");
	}
	else
	{
		puts("无符号");
	}

	return 0;
}

 在vs2022里面,这个编译器告诉我char是有符号的(运行结果因编译器和运行环境而异)

位和CHAR_BIT;

我们一直将变量当做保存数值的盒子,计算机中所有的数据都是0和1的组合来表示。所以在盒子的内部也是由0和1的位序列来表示数据的。

c语言中的“位”(bit)的定义:

“位”是具有大量内存空间的运行环境的数据存储单元,可保存具有两种取值的对象。对象中各二进制的地址不需要表示。

“位”可取两种值。其中一种是0。将位设为0以外的值,称为“设置位”。

因为编译器不同,char在内存上占据的位数也不同。该位数作为对象宏式CHAR_BIT。定义在<limits.h>中。

sizeof运算符;

c语言可以使用sizeof来计算所有类型的长度!

该运算符以字节(byte)为单位!

发长篇,查看率太低,以后会分成几个小节发!也更方便大家观看和学习!



                                                                                                                             侵权必删!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值