做网站程序 一天都是那些鬼东东让人越来越白痴
C++都快忘得快干净了
其实这些都是些最基础的的东西, 写一段时间程序了突然发现这些最基础的东西才是最有意思的。------\\\\(˙<>˙)/------
别说有些人就是爱好整这种虚拟的东东 折腾过去折腾过来 ,玩得不亦乐乎 怎么感觉有点像充气娃娃 - -! 无语。。。。。
位移操作符,只要你对二进制熟悉 那么你就可以熟练的操作他
int num = 1;
num <<= 10;
Console.WriteLine(num);
左移10位(二进制的位),相当于 2的10次方
输出结果为1024
1 int num1 = 0xff00; 2 int num2 = 0x00ff; 3 int num3 = num2 | num3; 4 Console.WriteLine("{0:x4}", num3);
或运算 可以用来合并位,比如字体样式里就经常用到 加粗|斜体
此处输出 ffff
1 int num1 = 0xffff; 2 int num2 = 0x0001; 3 int num3 = num2 & num3; 4 Console.WriteLine("{0:x4}", num3);
与运算 ,用来根据需要保留或去掉指定的位。这里把最低位以上的全部都去掉了。
此处输出 0001
二进制跟十进制之间转来转去的方法:
二进制跟十进制之间转来转去的方法:
//字节数组转长整型(二进制转十进制)
static long byteArToLong(byte[] bytes)
{
int [] nums= {1,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144};
if(bytes.Length>nums.Length)
throw new Exception("溢出");
long num=0;
for (int i = 0; i < bytes.Length; i++)
num += (bytes[i] * nums[i]);
return num;
}
//长整型转字节数组(十进制转二进制)
static byte[] numToByteAr(long num)
{
IList<byte> data =new List<byte>();
long dividend = num;
int indx = 0;
do
{
long yu = dividend % 256;
dividend /= 256;
data.Add((byte)yu);
} while (dividend > 0);
indx = 0;
byte[] bytes = new byte[data.Count];
foreach (byte b in data)
bytes[indx++] = b;
return bytes;
}
。