C语言中进制的转换和数据类型的区别
二进制
计算机的进制为二进制,数据在计算机中的存储传输等都是通过二进制进行。
我们日常生活中常见的十进制——满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
sizeof :
sizeof是一个操作符(operator)。其作用是返回一个对象或类型所占的内存字节数。
sizeof有三种语法形式:
1) sizeof (object); //sizeof (对象)
2) sizeof object; //sizeof 对象
3) sizeof (type_name); //sizeof (类型)
对象可以是各种类型的变量,以及表达式(一般sizeof不会对表达式进行计算)。
sizeof对对象求内存大小,最终都是转换为对对象的数据类型进行求值。
sizeof (表达式); //值为表达式的最终结果的数据类型的大小
推荐阅读
-
C语言中进制的转换和数据类型的区别
-
C#中重写(override)和覆盖(new)的区别
-
SQL SERVER中强制类型转换cast和convert的区别详解
-
c语言 结构体函数:PHP的语言结构和函数的区别
-
近期.NET学习及项目开发整理-SQLSERVER中的数据类型和C#中数据类
-
JavaEE基础day02 1.定义Java中的变量 四类八种 2.变量定义和使用的注意事项 3.数据类型的转换、强制数据类型转换4.算数运算符、比较运算符、逻辑运算符、赋值运算符、三元运算符
-
Linux C中sockaddr和sockaddr_in的区别
-
c#中 String和string的区别介绍
-
C#中属性和成员变量的区别说明
-
C语言中sizeof和strlen的区别是什么