VC语言

本类阅读TOP10

·VC++ 学习笔记(二)
·用Visual C++打造IE浏览器(1)
·每个开发人员现在应该下载的十种必备工具
·教你用VC6做QQ对对碰外挂程序
·Netmsg 局域网聊天程序
·Windows消息大全
·VC++下使用ADO编写数据库程序
·VC++学习笔记(四)
·非法探取密码的原理及其防范
·怎样在VC++中访问、修改注册表

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
^ & || >> << ~ 基础 (大家改正)

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

a ^ b  a|| b   a & b            a        b

 1         1        0                1         0

 0         1        1                1        1

0          0        0                0        0

1          1        0                0        1

101000001

~101000001

结果 010111110

正数符号位是0,负数符号位是1

左移一位 可以等价 x2

右移一位 可以等价 /2

正数来说,最高位是0,其余各位代表数值本身的二进制数;
      对于负数来说,把该数的绝对值的补码按位取反,然后对整个数+1,取得该数的补码。如-1的补码为11111111,-1的绝对值补码是00000001,按位取反11111110,再加1,11111111


      左移运算符(<<)会左操作数向左迁移,迁移的位数由右操作数决定(左移后,低位补0)a=a<<2,使a的各个二进制位左移2位,右补0,若a=00001111则a<<2=00111100,高位左移后溢出的位舍弃掉了在不产生溢出的情况下,左移一位相当于乘2,用这种方法来实现乘法,要比乘法运算快很多

右移运算符先会采用一种叫符号扩展的措施:如果原值为正数,高位补0;如果原值为负数,则高位补1




相关文章

相关软件