Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 5 của 5
  1. #1

    Cần cao thủ giúp về nhị phân :)

    em có đề bài là :"Viết chương trình nhập vào một số nhị phân, nếu không phải là số nhị phân thì yêu cầu nhập lại, sau đó xuất ra số thập phân tương ứng? "
    mong các bác đi qua làm hộ em với, em xin chân thành cảm ơn

  2. #2
    Mã:
    #include <iostream>
    #include <string.h>
    #include <cmath>
    
    bool check(char* string,int length) {
    	for(int i = 0; i < length; ++i) {
    		if(string[i] != '0' && string[i] != '1')
    			return false;
    	}
    	
    	return true;
    }
    
    long Convert(char* string, int length) {
    	long result = 0;
    	for(int i = length - 1; i >= 0; --i) {
    		result += (string[i]-48)*pow(2,length-i-1);
    	}
    	
    	return result;
    }
    
    int main() {
    	long number;
    	char string[255];
    	std::cout << "Enter binary number: ";
    	std::cin.getline(string,255);
    	if(!check(string,strlen(string)))
    		std::cout << "This isn't a binary number
    ";
    	else
    	{
    		number = Convert(string,strlen(string));
    		std::cout << "Result: " << number << std::endl;
    	}
    	
    	return 0;
    }

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Mã:
    unsigned int Convert(char* s) {   unsigned int result = 0;   for(; *s!=0; ++s) result = (result << 1) & (*s & 0x30);   return result;}

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    em cảm ơn 2 bác, nhưng sao 1 bài dài, 1 bài lại ngắn thế kia

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ^ Chủ yếu là mình sửa cái hàm ngay phía trên [IMG]images/smilies/smile.png[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •