欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言中进制的转换和数据类型的区别

程序员文章站 2024-01-14 19:55:46
...

二进制

计算机的进制为二进制,数据在计算机中的存储传输等都是通过二进制进行。
我们日常生活中常见的十进制——满10进1,七进制(星期)——满7进1,八进制——满8进1,十六进制——满16进1,等等…
二进制——满2进1
即: 二进制只有0 和 1 ——一个0 或者一个1 的单位为bit(比特)。
1 Byte(字节) = 8 bit
102Bbyte(字节) = 1KB
1024KB = 1MB
1024MB = 1GB
1024GB = 1TB

1字节=8比特 即:有8个比特位,所以1字节的表示范围为0——28-1 即0——255
0000 0000
0000 0001
0000 0010

1111 1110
1111 1111

在C语言中数据类型有:

char——————//字符数据类型
short —————— //短整型
int —————— //整形
long—————— //长整形
long long —————— //更长的整形
float—————— //单精度浮点数(可以表示小数点后面有效数字为7位)
double —————— //双精度浮点数(可以表示小数点后面有效数字为16位)

出现如此多的类型,是为了更加丰富的表达生活中的各种值。例如 有的值需要的空间大,需要的字节多一些,需要大的空间才可以存下,有的值需要的字节小,就需要小的空间就可以存下。这样的好处就避免了空间的浪费,大大节省了内存。

char为1个字节 可表示28个数
short为2个字节 可表示216个数
int为4个字节 可表示232个数
long 为4个字节(在有一些编译器中是8个字节)
long long 为8个字节
float为4个字节,可以表示小数点后面有效数字为7位
double 为8个字节,可以表示小数点后面有效数字为16位

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	printf("%d\n", sizeof(char));//1
	printf("%d\n", sizeof(short));//2
	printf("%d\n", sizeof(int));//4
	printf("%d\n", sizeof(long));//4
	printf("%d\n", sizeof(long long));//8
	printf("%d\n", sizeof(float));//4
	printf("%d\n", sizeof(double));//8
	printf("%d\n", sizeof(long double));//8
	return 0;

}

运行结果:

1
2
4
4
8
4
8
8

C语言中进制的转换和数据类型的区别

sizeof :

sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。

sizeof有三种语法形式:

1) sizeof (object); //sizeof (对象)

2) sizeof object; //sizeof 对象

3) sizeof (type_name); //sizeof (类型)

对象可以是各种类型的变量,以及表达式(一般sizeof不会对表达式进行计算)。
sizeof对对象求内存大小,最终都是转换为对对象的数据类型进行求值。
sizeof (表达式); //值为表达式的最终结果的数据类型的大小

上一篇: python入门

下一篇: 闰年求解的方法