C-2.1 数据
时间:2015-06-12 14:48:06
收藏:0
阅读:104
C的数据 其实和其他语言一样的。C99无非增加了几个新的数据类型。
基本可以分为以下:
- 实数
- 字符
- 逻辑(到后面 其实 这个就是 整数类型的一种[short int]) 王爽老师的名言:以后用到的知识以后再学。
- 其他类型
实数包括什么?
- 整数 如:12345... 整数在C语言分为:
- 长整数: long int 在内存中占字节 8个
- 整数:int 在内存中占字节 4个
- 短整数:short int 在内存中占字节 2个
- 超长整数:long long int 在内存中占字节 16个 这是C99标准新出
其实把新出的这个 long long int没必要。我们又不是科学家 普通的计算 int就足够我们用了的。很少有情况要用 long int
重点:
还有一点要讲 这些 都分 有 符号 和无 符号 类型。
很简单。有符号的 就有负数
没符号的 就没负数
但是他们的不同点就是 长短一样。
打个比方:
1~100 是100个数字对吧
-49~50 是不是也是100个数字? 这个不好解释想想就明白了
因为总共 100个数 你分给谁也改变不了的 不是么?
- 小数 如:1.2 1.3 568.123
- 单精度小数:float 在内存中占字节 4个
- 双精度小数:Double 在内存中占字节 8个
- 长双精度小数:long duoble 在内存中占字节 16个
这些 都分 有 符号 和无 符号 类型。
单精度小数就是 一个数字 后面的小数保存的位数
笔者具体也记不清楚了 反正到时候写程序的时候 肯定会debug
那时候就清晰了
这里我们假设
float 8位
Double 20位
long Double 50位
123.123456789111111111111[ 小数点后面21位]
那么这个数字
float 保存会变成 :123.12345678
Double 保存会变成 :123.1234567891111111111[保存20位 最后一位 扔了]
long Double 保存会变成 :123.12345678911111111111[因为位数是够的 所以可以全部保存]
有人会问了 尼玛XXX float 保存的不应该是 123.12345679的么?
你是不是这么想的。 8后面的9所以要进1?
我给你的答案是 C语言是 直接扔掉不会 给你进位的!
- 字符 如:‘A‘ ‘B‘ ‘C‘ ‘a‘
- 字符:Char 在内存中占字节 1个
- 逻辑 只有两个:True false 真或者假
- 真:true 在内存中占字节 2个
- 假:flase 在内存中占字节 2个
- 其他数据类型 可以是自定义的。这个以后在讲!
以上统统不要记 用到的时候 你就懂了 就是 “容器的大小 和类型而已”
评论(0)