الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال عن كيفية تحويل الرقم العشري الى ثنائي

مغلق
بدأه m_w_rose في 9 ديسمبر 2005 · 3 رد · 713 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

أود منكم المساعدة في كتابة كود لبرنامج يحول العدد العشري الى عدد ثنائي

وعلى فكرة أنا حاولت فيه مرتين والمرتين بمذاكرة للدكاترة يلي عنا والى الآن لم يعطونا الجواب الصحيح فأنا حابة استفيد من خبرتكن بهل المجال كوني اساتني مبتدئة لأني سنة أولى معهد هندسة كمبيوتر وبس كلمة أخيرة كتير حاولت أرسل قبل هلق مواضيع لأتناقش معكن بس ما كنت أعرف وعلى ما يبدو اني بلشت أعرف أنا بشكركم ان ساعدتوني أو حتى أريتو مشكلتي وأعطيتوني من وقتكم

وشكراً مرة تانية

:) :o -waf

meme

#2

ساخبرك بالطريقة الرياضية وقومي بكتابة الكود اللازم..

for instance we wanna tranfer 99d into B base:
99 mod 2 = 1 / 49*2 = 98
49 mod 2 = 1 / 24*2 = 48
24 mod 2 = 0 / 12*2 = 34
12 mod 2 = 0 / 6*2 = 12
6 mod 2 = 0 / 3*2 = 6
3 mod 2 = 1 / 1*2 = 2
1 mod 2 = 1 
so -- 99d becomes 1100011

gl

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

الاخ وضح في مشاركته مافيه الكفاية

لكن زيادة الخير خيرين

طريقة التحويل من desimal to binary نفس ماقال االآخ

تقسمين العدد على الاساس 2 وتضعين الباقي جانبا .. بحيث الباقي يمثل العدد الثنائيي

12 /2 = 6 والباقي 0

6/2 = 3 والباقي 0

3/2 =1 والباقي 1

1/2 =0 والباقي 1

يعني تمثيل العدد 12 بالثنائي يساوي1100

تم تعديل هذه المشاركة بواسطة مبرمجة ++C في 9 ديسمبر 2005 في 20:14

#4

هذا الكود يقوم بالعمل.. لكن حاولي استخدام طريقة الأخ Xacker عن طريق استخدام مصفوفة Array واستخدام خاصية Mod(%) للحصول على كود أسهل،

#include <iostream>
#include <string>
using namespace std;

string DecToBin(int n)
{
  string s,stringbit;
  if(n==0) 	 
  { 
    s+="0";
    return s;
  }
  int i,bit,size = 8*sizeof(n); // assume 8-bit byte
  bool leadingZero = true; // depressing leading zeroes
  for(i=size-1;i>=0;--i) 
  {
    bit = ((n>>i) & 1);
    if(bit)stringbit="1";
    else stringbit="0";
    if(leadingZero)
    {
      if(bit==0) continue;
      else leadingZero = false;
    }
    s+=stringbit;
    if(i && i%4==0) s+=" "; // for nice formatting, groups of 4 bits
  }
  return s;
}

int main() 
{
  unsigned int n;
  while(cin >> n) cout << DecToBin(n) << endl;
}

اللهم طهر أرض فلسطين من العملاء والخونة

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…