不用任何位操作,获得一个int变量的第九位
2013-04-11 14:41
260 查看
不用任何位操作(&、|、^、<<、>>、~),实现一个函数,得到一个int型数的第九位(从第一位开始计数)
int get9thbit(int val)
{
return (val/256)%2;
}
int check() { union utype { int i; char c; }; utype u; u.i=1; return u.c==1; } int getbit(int val) { char *p=(char *)&val; p++; if(check()) return (*p)%2; //如果是小端模式 else return (*p)/128; //如果大端模式 }
int get9thbit(int val)
{
return (val/256)%2;
}
相关文章推荐
- volatile变量在多线程同步时运用的优点: 1、锁一次只允许一个线程访问值,volatile 允许多个线程执行读操作,因此当使用 volatile 保证读代码路径时,要比使用锁执行全部代码路径获得
- [VB.NET]利用vb.net创建一个完全可编辑的DataGrid,从而实现操作Access数据库进行增,删,改的功能,前提是不用任何其他的Button
- 写一个不用cmp指令不用临时变量的int max(int a,int b)函数 不用if ? : switch
- css效果,在一个盒子里,把一部分内容隐藏掉,在鼠标悬停到div时,就会把隐藏的部分向上显示出来。 不用js操作,纯css就可以。
- java 多线程操作同一个变量
- 一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它
- int 变量直接赋值,是原子操作吗?
- 编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。
- 一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。
- 立即获得下载任务完成的消息通知。Android DownloadManager通过注册一个广播监听系统的广播事件完成此操作,在创建广播时候,需要指明过滤器为:DownloadManager.ACTIO
- jQuery的函数,有些直接就用$this(表示当前操作的标签),而也不见this在哪里定义过,这个this究竟谁什么?答:把this当成在内从中存在的JavaScript的一个变量即可,一个关键字
- 不用任何局部和全局变量实现int strlen(char *a)
- 不用任何变量实现strlen()函数
- 查询一个int类型的变量(数字)是否在一个字符串里边(逗号分隔的)以及 sqlif 与case
- 一个int数组, 比如 array[],里面数据无任何限制,要求求出 所有这样的数array[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现
- KVC的使用(对一个对象的成员变量进行操作(赋值/取值))
- 发一个昨天晚上新鲜出炉的Javascript(js)分页程序,带详解,业余水平。。。。 不用任何jquery 之类的库
- 《剑指Offer》用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型
- 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。
- 一个int数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。