用verilog 语言描述一个二进制的位数

比如求10000是6位,这个数是由异或运算得出的。算法如何实现,麻烦程序和思想都写一下。
比如说两个二进制数异或运算得出来一个值为1000,求这个值的位数是几位?就是求它的长度??
是的,按位异或。

直接异或是很简单,一个运算符就可以搞定,难得就是怎样就这个异或之后的结果的位数???

任意输入一个整数,求0到输入的整数之间,二进制表示和十进制表示都为回文数的所有整数。
代码:
// GetHuiWen.java
import java.util.*;
/* 求用二进制和十进制表示都是回文数的数
* @author Xia Wei
* @author [email protected] or [email protected]
*/
//判断回文数
class Judgement {
// 判断十进制整数是回文数,成功返回true,失败返回false
public boolean Judgement1(int n) {
int k,a,m=0;
k=n;
while(k!=0) {
a=k%10;
m=m*10+a;
k=k/10;
}
return(m==n);
}
// 判断整数的二进制数是回文数,成功返回true,失败返回false
public boolean Judgement2(int m) {
// temp为装载整数的二进制表示数的临时变量
String temp="";
temp=Integer.toBinaryString(m);
// 字符数组d[],f[]帮助判断两字符串是否具有回文性
char d[]=new char[temp.length()];
char f[]=new char[temp.length()];
d=temp.toCharArray();
for(int j=d.length-1,u=0;j=0ud.length;j--,u++)
f[j]=d[u];
for(int v=0;vd.length;v++)
if(f[v]!=d[v])
return false;
return true;
}
}
//判断显示回文数的用户交互程序
public class GetHuiWen {
// 主函数
public static void main(String[] args) {
//创建判断回文数的对象实例
Judgement jt=new Judgement();
// 从终端输入一个整数
int value; // 将要输入的整数值
System.out.println("输入一个整数值,再回车:");
Scanner cin = new Scanner(System.in);
value = cin.nextInt();
// 使用判断回文数的对象实例,判断回文,并输出
System.out.println("从0到输入的整数"+value+"之间,整数和二进制
数都是回文数的为:");
for(int i=0;ivalue;i++)
if((jt.Judgement1(i))(jt.Judgement2(i))){
System.out.println(i+" (其二进
制"+Integer.toBinaryString(i)+")");
}
}
}
希望对你有帮助!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-13
不是很清楚你的意思。
异或运算是指将一个数 和他本身进行异或吗 你是这个意思吗
然后再去求这个数的位数吗
如果说 是要将一个数和他本身进行异或 这个很容易的啊 但具体要求出这个数的长度 就不是很明白了
第2个回答  2010-11-09
不懂你的意思
硬件描述语言从来不求位数,而是指的位数的比如:4’b0001。本回答被提问者和网友采纳
第3个回答  2010-11-12
按位异或?
相似回答