黑马程序员IOS-C语言-进制、位运算、char

------- android培训java培训、期待与您交流! ----------

----------------------------------------------------

进制:计数的方式,数值的表现形式

    二进制     0b 或者 0B 开头

    八进制     0 开头

    十进制     默认即为十进制

    十六进制    0x 或者 0X 开头
            其中 A,B,C,D,E,F 分别对应 10,11,12,13,14,15

printf以不同进制形式输出
%d/%i     以带符号的十进制形式输出整数
%u      以不带符号的十进制形式输出整数

%o      以不带符号的八进制形式输出整数

%x      以不带符号的十六进制形式输出整数

%p      输出地址

%c      输出一个字符

%s      输出一个或者多个字符  字符串占位符

%f      以小数形式输出单、双精度数,默认输出6位小数
%e      以标准指数形式输出单、双精度数,数字部分小数位数位6位


二进制 ==> 十进制
0b101 ==> 1 * 2的0次方 + 0 * 2的1次方 + 1 * 2的2次方
         = 1 + 0 + 4 = 5

十进制 ==> 二进制
除法取余

n位二进制的取值范围
2位二进制的取值范围:00~11 ==> 0~3    0~2的2次方-1
3位二进制的取值范围:000~111 ==> 0~7  0~2的3次方-1
n位二进制的取值范围:0 ~ 2的n次方-1

/*
 char   1个字节
 int    4个字节
 float  4个字节
 double 8个字节
 */


类型说明符   修饰基本数据类型
short       2个字节    %d
//int       4个字节    %d
long        8个字节    %ld
long long   8个字节    %lld
signed      有符号         变量最高位作为符号位
unsigned    无符号     %u  变量最高位不作为符号位

long = long int 其本身并不是数据类型

----------------------------------------------------

位运算

&   : 只有对应的两个二进制位都为1时,结果为1,否则为0

    规律:二进制中,与 1 相 & 保持原位,与 0 相 & 为 0

|   : 只要对应的二个二进制位有一个为1时,结果为1,否则位0

^   : 对应的二进制位不相同时,结果为1,否则为0

    规律:相同整数相 ^ 的结果为 0。
         过个整数相 ^ 的结果与顺序无关
         一个数相 ^ 另一个数两次,原值不变,即为任何数与 0 相 ^ 值不变

~   : 取反,对整数的各个二进制位进行取反,符号位也取反(0变1,1变0)

<<  : 左移,高位丢弃,低位补0。因此符号位会被丢弃,可能会改变正负性

    规律:左移位数n相当于乘以2的n次方

>>  : 右移,将整数的各个二进制位除符号位不变全都右移,符号位补齐高位
           即为,为正数时,符号位为0,高位补0
                为负数时,符号位为1,高位补1

    规律:右移位数n相当于除以2的n次方

----------------------------------------------------

char 类型 : 存储细节,ASCII表

可以当做整型使用:在-128 ~ 127范围内

转义字符
\n  回车换行
\t  tab键
\\  代表一个反斜线
\'  代表一个单引号
\"  代表一个双引号

----------------------------------------------------

------- android培训java培训、期待与您交流! ----------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值