C 语言04

来源:互联网 发布:下载动画的软件 编辑:程序博客网 时间:2024/06/05 02:18
1.进制:进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制—x进制,就表示某一位置上的数运算时是逢x进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一。
计算机采用二进制和十六进制。
2.进制转换
①.十进制转N进制
比如:十进制转二进制,十进制转十六进制。
秘诀:连除(除以位权)倒取余。
小数:秘诀连乘(乘以位权)正取整。小数点保留。
②.N进制转十进制。
比如:二进制转十进制,十六进制转十进制。
秘诀:当前位上的数乘以基数(或者位权)的位数减一次方。
3.位运算符
参与运算的量按二进制进行运算。
按位与& ,按位或丨, 按位非~, 按位异或^(脱字符) ,左移<<, 右移>>
<<左移一位相当于乘2,>>右移一位相当于除2
一个字节(Byte)表示8个二进制位(bit)
一个字节所能表示的数的范围是0~255.
按位与作用之一就是对现有数据进行清零。
异或:整型变量相异或(对应位相同则为0不同则为1
用异或可以交换两个变量的值
移位中的左移末尾补0;
右移运算对于负数,分为逻辑右移(高位补0),和算术右移(高位补1)
1. int a=5;// 4个字节,32个二进制位
原码/补码:
0000 0000 0000 0000 0000 0000 0000 0101
2.int number1=3;
int number2=5;
int result1=number1&number2;//
整形变量按位与
printf("按位与 的结果为:%d\n",result1);
int result2=number1|number2;//
整型变量按位或
printf("
按位或的结果为:%d\n",result2);
int result3=~number2;//
对整型变量按位取非(取反)
printf("按位非的结果为:%d\n",result3);int result4=number1^number2;//整型变量相异或(相同则为0不同则为1
printf("异或的结果为:%d\n",result4);
//交换 number1和numbr2的值
number1=number2^number1;
number2=number1^number2;
number1=number1^number2;
printf("number1=%d\nnumbe2=%d\n",number1,number2;

3.交换两个数的值 (可以用异或来解决)
int  a=3,b=4;
a=a^b;
b=a^b;
a=a^b;

0 0
原创粉丝点击