前沿拓展:字符型A转整形是多少
摘要
位运算符是一种较为特殊的运算符,和之前介绍的四种运算符不同的是,位运算符直接作用于位(bit),并依次按位进行操作,而我们也知道,在计算机中所有的数据都是以二进制的形式保存的,而非十进制,因此,位运算符的使用不能再像以往一样在十进制的角度进行考虑了,它的操作都是以二进制位来进行处理的,所以在理解上还会有一定的难度。
正文
C#支持的位逻辑运算符如表
运算符号
意义
运算对象类型
运算结果类型
对象数
实例
~
位逻辑非运算
整型,字符型
整型
1
~a
&
位逻辑与运算
整型,字符型
整型
2
a & b
位逻辑或运算
整型,字符型
整型
2
^
位逻辑异或运算
整型,字符型
整型
2
a ^ b
<<
位左移运算
整型,字符型
整型
2
a<<4
>>
位右移运算
整型,字符型
整型
2
a>>2
位逻辑非运算
位逻辑非运算是单目的,只有一个运算对象。位逻辑非运算按位对运算对象的值进行非运算,即:如果某一位等于0,就将其转变为1;如果某一位等于1,就将其转变为0。注意高位的1是符号位。
int x = 12;//00001100 int y = 8;// 00001000 Console.WriteLine(~x);//11110011
位逻辑与运算
位逻辑与运算将两个运算对象按位进行与运算。与运算的规则:1与1等于1,1与0等于0。
int x = 12;//1100 int y = 8;//1000 Console.WriteLine(x&y);//1000位逻辑或运算
位逻辑或运算将两个运算对象按位进行或运算。或运算的规则是:1或1等1,1或0等于1,0或0等于0
int x = 12;//00001100 int y = 8;//00001000 Console.WriteLine(x|y);//00001100位逻辑异或运算
位逻辑异或运算将两个运算对象按位进行异或运算。异或运算的规则是:1异或1等于0,1异或0等于1,0异或0等于0。
int x = 12;//00001100 int y = 8;// 00001000 Console.WriteLine(x^y);//00000100一个简单加密操作
我们可以设置一个加密KEY,与用户输入的密码与一下
Console.WriteLine("请输入密码:"); int pwd = Convert.ToInt32(Console.ReadLine()); int key = 8; Console.WriteLine(#34;加密后密码:{pwd ^ key}");
位左移运算
位左移运算将整个数按位左移若干位,左移后空出的部分0。左移相当于乘以2的n次幂。
int x = 48;//00110000 Console.WriteLine(x<<2);位右移运算
位右移运算将整个数按位右移若干位,右移后空出的部分填0。右移相当于除以2的n次幂。
int x = 8;//00001000 Console.WriteLine(x>>2);

拓展知识:字符型A转整形是多少
int a = 'a';那么整形a所代表的就是字符‘a’的ASCII码。
字符串转字符的话可以用String的toCharArray() 方法。
希望对你有帮助! 追问 toCharArray()不是得到一个char类型的数组吗?
int a = (int)'你'
char c = (char)97
这样就取到了某个字符的acsii码值, 反过来一样
整型可以转换成字符型,但字符型未必可以转成整型!
如果你让 "a" 等于一个整型,请问它是数字 几 呢?这是一个错误的转换,在Java里面是不可实现的。
a在char中是98,转成char呗
package test;
public class test {
public static void main(String[] args) {
char value='a';
System.out.println((int)value);
}
} 本回答被提问者采纳
还有其他疑惑?想了解更多?可以点击 【在线咨询】