接收一个10字节数据,判断其中有多少位是0

来源:互联网 发布:国际专线网络价格 编辑:程序博客网 时间:2024/06/05 07:00

C语言版本:

#include<stdio.h>typedef   unsigned   char   byte;int count_bits(byte data){        int count = 0;        for(int i=0;i<8;i++){            if((data&(1<<i))==0){                count++;            }        }        return count;    }int main(){    byte data[12];    for(int i=0;i<10;i++){         scanf("%u",&data[i]);    }    int ans = 0;    for(int i=0;i<10;i++){        ans += count_bits(data[i]);    }    printf("%d\n",ans);    return 0;}

java版本:

package algorithd;import java.util.Scanner;/***@author 风雨落*@version 2017年12月19日上午9:33:49*@title 确定一个10字节数据中有多少位是0*/public class Main1219 {    public static int count_bits(byte data){        int count = 0;         for(int i=0;i<8;i++){            if((data&(1<<i))==0){                count++;            }        }        return count;    }    public static void main(String[] args) {        // TODO Auto-generated method stub        byte[] data = new byte[12];        Scanner scan = new Scanner(System.in);        for(int i=0;i<10;i++){            data[i] = scan.nextByte();         }               int ans = 0;        for(int i=0;i<10;i++){            System.out.println(data[i]);            ans += count_bits(data[i]);        }        System.out.println(ans);        scan.close();    }}
阅读全文
0 0