几个小问题,急需解决!(5分)

  • 主题发起人 主题发起人 rongercao
  • 开始时间 开始时间
R

rongercao

Unregistered / Unconfirmed
GUEST, unregistred user!
1、<< 和 >>操作,微软帮助文件中说对于int或uint由count的低5位(count&amp;0xlf)给定,对于long或ulong由count的低6位(count&amp;0x3f)给定,到底什么含义,例如计算long a=33;
Console.WriteLine("the values is{0:x}",a<<1)能否讲讲原理。
2、float f=1.2300E+15F中的F的含义是什么?
 
第二个问题:有两种类型可以表示一个浮点数:float 和do
uble。默认情况下,1.23 或 7.12E7 这些浮点数是都被看作是do
uble 类型。所以如果你要让它们是 float 类型,就必须在数后加 f 或 F。同样的,你也可以显式得让它们是do
uble 类型,只需在数后加 d 或 D。
 
第二个问题明白了,第一个呢
 
左移,相当于*2, 即66
 
移位运算:
1.<< 左移,将操作数按位左移。高位丢弃,低位补0.如10<<1 = 20;
2.>> 右移,x为int或long类型时,x的低位被丢弃,其他各位顺序右移;
   如果x为非负数,最高位设为0,如果为负数最高位设为1;
   当x为uint或ulong类型时,顺序右移,丢弃低位,最高位补0.
例:int x = 16;

int y = x >> 2;
//y=4
y = y >> 2;
// y = 1
y = y >> 2;
// y = 0
如果x = -16;
则结果为:-4,-1,-1
注:计算机里是按照(取反加1)格式存储的
 
后退
顶部