一、操作符
1、算数操作符
"+" a+b表示a+b
"-" a-b表示a-b
"*" a*b表示axb
"/" a/b表示a除以b
"%" 计算余数 eg:10%3表示计算10/3的余数 10%3=1
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
另外(%d表示整数,%f表示实数)
2、移位操作符
">>" 向右移位 将数的二进制形式向右移一位,
"<<" 向左移位 将数的二进制形式向左移一位,
(例题)
(1)unsigned char x=3;
x<<1是多少?x>>1是多少?
对于无符号数值3来说,3的二进制编码为:00000011,向左移位的方式为最左边一位0舍去,最右边移进来的一位补0,则结果的二进制编码为 : 00000110,转换为十进制数为6,所以x<<1(向右移一位)的值为6,。
向右移位的方式是最右边一位舍去,最左边补进来的一位为0,则 00000011 转化为00000001,其十进制的结果为1,所以x>>1(向左移一位)的值为1。
(2)char x=3;
x<<1是多少?x>>1是多少?
对于有符号的数值3来讲,移位之后就要考虑它的正负性,因为二进制编码的第一位(0表示+,1表示-)
3的二进制编码为:00000011,向左移位的方式为最左边一位0舍去,最右边移进来的一位补0,则结果的二进制编码为 : 00000110,转换为十进制数为6,所以x=3;x<<1(向右移一位)的值为6,。
由于3是有符号数值,在移位过程中有逻辑右移和算数右移两种方式,大多数计算机采用算数右移的方式。
向右移位的方式是最右边一位舍去,最左边补进来的一位为0,则 00000011 转化为00000001,其十进制的结果为1,所以x>>1(向左移一位)的值为1。
(3)char x=-3;
x<<1是