8,进制
数码:数位:基数
9,变量存储的细节
1个字节 8个二进制位
char:1个字节
int :4个字节
float:4个字节
double: 8个字节
10,sizeof运算符
1),作用:计算指定类型的变量,常量数据、变量在内存中占据的字节数空间。
2),语法:sizeof(数据类型):返回这个类型所占字节数。
sizeof(变量):返回这个变量所占字节书。
sizeof(常量数据):返回常量所占的字节数。
注意:int double float 类型的变量和常量在内存中占据的字节空间数据是一样的。
char类型的变量 占据1个字节 char类型的常量占据4个字节。
3),另一种写法:
如果判断的数据是1和变量或者常量数据,可以这么写(省略小括号)
sizeof 变量名;
sizeof 常量
如果判断数据类型 小括号不能省略
11,原码,反码,补码、
正数的 原码, 反码, 补码,都 相同、
负数的反码是原码除符号位取反 ,补码是反码加1
用于将减用加来运算
12,按位与
任何数按位与1 得到的都是最低位
可用于判断奇偶
按位异或可用于交换值
a^b^a=b
a^0=a
a^a =0
按位左移 空位补0 相当于乘以2 可能改变正负
按位右移 空位补符号位 相当于除以2 不会改变正负
13,深入变量的细节
1),声明一个变量,就是在内存中申请指定字节的空间
a,变量申请的字节空间一定是连续的
b,是从高地址向低地址分配的
c,存储在内存中的数据都存储的是二进制的补码形式。
d,高位存储在高字节,低位存储在低字节
2),变量的地址
变量的地址是组成这个变量的低字节的地址
取出变量的地址;&变量名
打印变量的地址:使用%p格式控制符
14,int的修饰符
1),short 2个字节
%hd 可以省略int 把 short int num = 10; 写成 short num = 10;
2),long 8 个字节
32位系统 4个字节 64位系统 8字节
%ld 可以省略int
3),long long 8个字节
%lld 可以省略int
4),unsigned
表示最高位不是符号位 而是参与到数据的表示 这样最大值大1倍。
缺点:不能存储负数。 %u %hu %lu %llu
5),signed
要求最高位表示符号位 默认的就是这样 不用写
15,char变量的深入
char ch = ‘a’;存储的是整数 是’a’的ASCII码的补码 也可以赋值整数。
%c 就是输出字符 %d就是输出整数
|
|