




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
How
to
use
<<
&
>>?
The
left
shift
…...
Bits
vacated
by
the
shift
operatzero-filled.
This
is
a
logical
shift.
The
right
shift……
Bits
vacated
by
the
shift
operatiare
zero-filled
for
unsigned
quantities.
For
signedquantities,
the
sign
bit
is
propagated
into
the
vacatpositions.
The
shift
is
a
logical
shift
if
the
left
operand
is
anunsigned
quantity;
otherwise,
it
is
an
arithmetic
sh
The
result
of
a
right
shift
of
a
signed
negativequantity….
Although
Microsoft
C++
propagates
themost-significant
bit
to
fill
vacated
bit
positions,no
guarantee
that
other
implementations
will
doAn
Exampleunsigned
char
a
=
0x80;char
b
=
0x80;//128//
-128unsigned
char
c
=
a
>>
1;•c
=
64c
=
a
<<
1;•c
=
0char
d
=
b
>>
1;•d
=
-64d
=
b
<<
1;•d
=
0int
e
=
-1
>>
1;•e
=
-1e
=
-1
<<
1;•e
=
-2Bit
Operation
VS
Boolean
Operation
Boolean
Operation
returns
TRUE(1)
orFALSE(0)0——FALSENOT
0——TRUE
Bit
Operation
returns
bit
calculationresultsAlso
an
exampleint
k
=
1
&
2;k
=
0k
=
1
&&
2;k
=
1k
=
1
|
2;k
=
3k
=
1
||
2;k
=
1k
=
!2;k
=
0k
=
~2;
k
=0xFFFFFFFEHCross-platform
Communication:•Windows/Linux
Socket
Programming:X86
(Little
Endian)
TCP/IP(Big
Endian)Host(Little
Endian)Network(Big
Endian)ntohl,htonl,ntohs,htons完成转换An
other
Example:
EndiannessEndianness问题-Socket编程#define
htons(A)((((uint16)(A)
&
0xff00)
>>
8)
|
(((uint16)(A)
&
0x00ff)8))#define
htonl(A)((((uint32)(A)
&
0xff000000)
>>
24)
|
\(((uint32)(A)
&
0x00ff0000)
>>
8)
|
\(((uint32)(A)
&
0x0000ff00)
<<
8)
|
\(((uint32)(A)
&
0x000000ff)
<<
24))#define
ntohs
htons#define
ntohl
htohlAlso
Another
ExampleTo
Modify
Windows
Style
(&
ExStyle)Use
DWORD
keyword
to
maintain
style,
each
bit
specifies
a
style
ofMainframe
or
ViewTest
a
certain
style
WS_VSCROLL•if
(
Style
&
WS_VSCROLL)Add
a
certain
style
WS_VSCROLL•Style
|=
WS_VSCROLL;Add
some
styles
together
WS_VSCROLL
and
WS_HSCROLL•Style
|=
WS_VSCROLL
|
WS_HSCROLL;Remove
a
certain
style
WS_MINIMIZEBOX••Style
&=
~
WS_MINIMIZEBOX;Style
^=
WS_MINIMIZEBOX;Remove
some
styles
together
WS_MAXIMIZEBOX
andWS_MAXIMIZEBOX••Style
&=
~(WS_MAXIMIZEBOX|
WS_MAXIMIZEBOX);Style
^=
WS_MAXIMIZEBOX|
WS_MAXIMIZEBOX;An
Exercise输入框(Edit)控件是Windows窗口程序常用的一种控件,它负责接受从键盘输入的字符。为控制Edit控件的外观特点,显示和对齐方式等,我们为它定义一些属性,每一个属性用一个
Word的常数来表示,该数只有某一位(bit)为1,其它位为0。Edit控件的所有属性用一个
Word型的字来表示,该字的每一位(bit)表示一种相应属性,称该字为属性字。Edit控件的E属S_性LE定FT
义如下:EQU0001H;左对齐ES_CENTER
EQU0002H;居中对齐ES_RIGHT
EQU0004H;右对齐ES_MULTILINE
EQU0008H;多行显示ES_UPPERCASE
EQU0010H;显示大写字母现假设AX寄存器里面存放要建立的Edit控件的属性字,该属性字包含一些初始属性。编写一个完整的程序,对该属性字进行处理,来按顺序完成下列功能:Y
为Edit控件添加两个属性ES_LEFT和ES_MULTILINE;Y
测试Edit控件是否有属性ES_RIGHT,如果有,删除该属性;Y
测试Edit控件是否有属性ES_AUTOVSCROLL,如果有,删除该属性;如果没有,添加该属性;Y
测试Edit控件是否同时具有ES_UPPERCASE和ES_LOWERCASE两个属性。如果是,显示一个字符串“EditBox
Style
Error!”;否则,显示一个字符串“EditBox
Style
Right!”;Y
程序结束。程序如下:;;;;;定义符号常数;;;;;;;;;;;;ES_LEFT
EQU
0001H
;左对齐ES_CENTEREQU
0002H;居中对齐ES_RIGHTEQU
0004H;右对齐ES_MULTILINEEQU
0008H;多行显示ES_UPPERCASEEQU
0010H;显示大写字母ES_LOWERCA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作中的自律性对提高效率的影响
- 工业自动化发展趋势及技术革新
- 工业设计的美学与产品设计实践
- 工作效率提升技巧与策略
- 工业领域物联网环保应用研究
- 工作模式变革下的组织文化创新
- 工作流程优化与持续改进方法
- 工厂安全生产与应急预案制作
- 工程建筑中岩土工程的实践应用
- 工程测绘的智能化发展路径研究
- CD唱机原理课件
- 露天矿矿建竣工验收资料
- 造纸厂的管理规章制度
- 生命体征PPT精品课件
- Q∕SY 02098-2018 施工作业用野营房
- 会计工作证明
- 物流公司超载超限整改报告
- 高中必备古诗文75篇高中古诗大全必背
- 声门下吸引技术ppt课件
- 测控电路课程设计报告--信号采集调理电路的设计
- 法律英语单词分单元汇总
评论
0/150
提交评论