首页 > 试题广场 >

bit位数

[编程题]bit位数
  • 热度指数:2720 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
两个整数 m 和 n 的二进制表达中有多少个位(bit)不同?

数据范围:

输入描述:
一行中给定两个数字


输出描述:
输出这两个数字中bit不同的个数
示例1

输入

15 8

输出

3

说明

15的二进制表示中后四位是 1111 , 3的二进制表示中后四位是 0011,因此有两位不同 
头像 白伟仝
发表于 2020-06-27 16:49:33
用toBinaryString转成二进制字符串,挨个比较就行了: import java.util.*; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner( 展开全文
头像 17c89
发表于 2024-02-09 16:12:27
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner in = new Scanner(System.in); while 展开全文
头像 nonono111
发表于 2020-07-07 23:07:15
采用位运算。将num1和num2按位异或得到num,再统计num中二进制1的个数,即是不同的位数。代码比较简单,如下: #include <iostream> using namespace std; int countDiffBin(int num1, int num2) { 展开全文
头像 苏觅云
发表于 2022-05-19 20:26:41
import java.util.*; public class Main { public static int countDif(int m, int n) { int cnt = 0; while(m != 0 || n != 0) { 展开全文

问题信息

上传者:小小
难度:
34条回答 3968浏览

热门推荐

通过挑战的用户

查看代码
bit位数