目录
基本数据类型和数;
算数类型和基本数据类型:
像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)为单位!
发长篇,查看率太低,以后会分成几个小节发!也更方便大家观看和学习!
侵权必删!