论坛首页 入门技术论坛

收集了两个算法题

浏览 1315 次
该帖已经被评为新手帖
作者 正文
   发表时间:2008-07-25  
OO

1,用一个表达式将一个字母转换为大写
给定的字符是字母,大小写不定
不能用 三目运算 ?:

char cSrc='C';

 

答:   cSrc = (char)(cSrc&~32); (转为小写:cSrc = (char)(cSrc|32);) 或者

cSrc = (char) ((cSrc - 'A') % 32 + 'A');

(哪位解释下为什么可以这样算呢cSrc = (char)(cSrc&~32);)

 

2,判断一个正整数是否是2的整次幂

 

int iSrc = 4096;

 

答:return (iSrc&-iSrc)==iSrc  或者

      return (iSrc&(iSrc-1))==0 

论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics