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

من هنا و هناك !

بدأه khaled_prg في 20 نوفمبر 2010 · 20 رد · 1,209 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

بدون مقدمات ..

  • هل هناك دالة في السي++ تحول dec إلى hex !؟
  • بينما كنت أقرأ بعض الكتب البرمجة إذْ رأيت هذا المثال :
    int n = (-5,34);


    كيف يمكننا إسناد قيمتين إلى متغير واحد في نفس الوقت !؟

بالتوفيق.

#2
khaled_prg كتب:

  • هل هناك دالة في السي++ تحول dec إلى hex !؟

لا أعرف دالة و لکن إصنعها أنت نفسک هکذا:

	number=100;
	hex(cout);
	cout<<number;

أو هکذا:

	number=100;
	cout<<hex<<number;

تم تعديل هذه المشاركة بواسطة u77431 في 20 نوفمبر 2010 في 15:28

#3

مرحبا أخي u77431 :)

الدالة hex الموجودة في لغة السي++ تقوم بإظهار العدد على هيئة السداسي عشر, لاحظ أن الدالة تُظهر و لا تُحول .. أنا أريد دالة تحول المتغير من النظام العشري إلى السداسي عشر و تكون مُعرفة مُسبقا .. عندي دالة تحول الـ dec إلى الـ hex و لكن أريد دالة موجودة أصلا في اللغة.

بقي السؤال الثاني.

بالتوفيق.

#4

وضّح ماذا تريد ، ما تريد تحويله عبارة عن ماذا والى ماذا (int/string) ؟

#5

بحثتُ تقریبا أحد أو إثنی ساعات ولکن ما وجدت دالة موجودة أصلا فی اللغة. أظن لیست موجودة.

علینا إستخدام hex,dec مع cin or cout أو إستخدام دالة لتحویل الیدوی.

والله أعلم.

>)

تم تعديل هذه المشاركة بواسطة u77431 في 20 نوفمبر 2010 في 18:04

1
#6

السلام عليكم ...

ما الفرق بين اظهار الرقم بصورته السداسي عشرية وبين تحويله إلى صورته السداسي عشرية!

تحويل الارقام من صورة إلى أخرى داءما ما يكون ظاهريا لتسهيل قراءة المستخدم له، أما أصله وجوهره فهو رقم ثناءي من الواحدات والاصفار فقط.

أم أنك تقصد أن الرقم يتم تحويله إلى الهيكس كسلسلة نصية بحيث لا يعرف حتى الحاسوب أنه رقم معين. ! ويتعامل معه كنص!

4

" إن الله كتب الإحسان على كل شيء"

::

الإرادة ... تحقق السيادة.

#7

A.S Hack

+1

لا يوجد نوع hex اصلا فى السى بعكس وجود الdecimal الذى يعتبر عنة int .

يمكنك بمشتقتات printf ان تخرج الجملة فى array(like char array) او file او اى stream . (اظن الحال مشابة مع cin/cout )

ويمكنك عمل دالتك التى تحول من int الى data type عرفتها بنفسك (فلنتفرض انك تريد التعبير عن الhex فى شكل string )

name : mohamedyosry

#8

اتضح لي السؤال الأول :), حان دور السؤال الثاني :

اقتباس
بينما كنت أقرأ بعض الكتب البرمجة إذْ رأيت هذا المثال :

int n = (-5,34);

كيف يمكننا إسناد قيمتين إلى متغير واحد في نفس الوقت !؟

#9
اقتباس
كيف يمكننا إسناد قيمتين إلى متغير واحد في نفس الوقت !؟

لا يوجد إرجاع لقيمتين هنا. ما يتم إرجاعه هو 34, هذا من أساسيات اللغة. المعامل comma يعيد "آخر" معامل.

3
#10
اقتباس
لا يوجد إرجاع لقيمتين هنا. ما يتم إرجاعه هو 34, هذا من أساسيات اللغة. المعامل comma يعيد "آخر" معامل.

  • ما هو المعامل comma !؟
  • مالفرق بين الكتابتين :
    int n = (-5,34); Or int n = 34;


  • إذا كنا نعلم أنه سيتم أخذ آخر عدد موجود بين القوسين فمالفائدة من كتابة متسلسلة من الأعداد سيتم اختيار آخرها فقط !؟

بانتظارك :)

تم تعديل هذه المشاركة بواسطة khaled_prg في 20 نوفمبر 2010 في 22:53

#11
khaled_prg كتب:

  • ما هو المعامل comma !؟
  • مالفرق بين الكتابتين :
    int n = (-5,34); Or int n = 34;


  • إذا كنا نعلم أنه سيتم أخذ آخر عدد موجود بين القوسين فمالفائدة من كتابة متسلسلة من الأعداد سيتم اختيار آخرها فقط !؟

بانتظارك :)

هذا هو من comma .یعنی مقدار الآخر هو مقدار النهائی.

اقتباس
A comma expression is a series of expressions separated by commas. The expressions are evaluated from left to right. The result of a comma expression is the value of the rightmost expression. The result is an lvalue if the rightmost operand is an lvalue

و لکن لا فائدة له فی هذا المثال و له فوائد أخری.

و لیس فرق بین تلک الکتابتین

تم تعديل هذه المشاركة بواسطة u77431 في 20 نوفمبر 2010 في 23:47

1
#12

شكرا أخي u77431 :)

أرجو ترجمة هذه الفقرة :

A comma expression is a series of expressions separated by commas. The expressions are evaluated from left to right. The result of

a comma expression is the value of the rightmost expression. The result is an lvalue if the rightmost operand is an lvalue

ترجمة جوجل لم تكن دقيقية !

اقتباس
و لکن لا فائدة له فی هذا المثال و له فوائد أخری.

مثل ماذا !؟

اقتباس
و لیس فرق بین تلک الکتابتین

ما دليلك !؟

تم تعديل هذه المشاركة بواسطة khaled_prg في 21 نوفمبر 2010 في 00:15

#13
khaled_prg كتب:

شكرا أخي u77431 :)

أرجو ترجمة هذه الفقرة :

A comma expression is a series of expressions separated by commas. The expressions are evaluated from left to right. The result of

a comma expression is the value of the rightmost expression. The result is an lvalue if the rightmost operand is an lvalue

ترجمة جوجل لم تكن دقيقية !

مثل ماذا !؟

ما دليلك !؟

آسف، نسیت أنت تعلم الفرنسیة.

و ترجمة جوجل هو أفضل من ترجمتی :) لأن لیس الإنجلیزیه و العربیة ، اللغتی الأصلیة.

ولکن مع هذا، معنی تلک الفقرة هو "العبارة کاما هو مجموعة من العبارات فٌصل مع کاما و هو من الیسار إلی الیمین و عبارة الذی هو فی أقصی الیمین هو نتیجة النهائیة..." أو کما هو.

اقتباس
مثل ماذا !؟

فی تلک المثال هو زائد و لکن نقدر إستعمال comma هکذا:

for(int i = 0;i != ivec.size(); ++i, --cnt) 
{ 
  ivec = cnt; 
}

اقتباس
ما دليلك !؟
جربهما! سنری لیس فرق بینهما

تم تعديل هذه المشاركة بواسطة u77431 في 21 نوفمبر 2010 في 00:56

#15
khaled_prg كتب:

لم أفهم الـ comma بعد ! :blush:

أين استخدام الـ comma هنا ؟ :

for(int i = 0;i != ivec.size(); ++i, --cnt) 
{ 
  ivec = cnt; 
}

هنا :

اقتباس
for(int i = 0;i != ivec.size(); ++i, --cnt)

قل لی ما المشکل؟

أی مشکلة أنا فی خدمة

تم تعديل هذه المشاركة بواسطة u77431 في 21 نوفمبر 2010 في 02:17

#16
اقتباس
قل لی ما المشکل ؟

كنت أظن أن ++i هي زيادة بعدية للمتغير i و --cnt هي زيادة قبلية للمتغير cnt :), ما دخل الـ comma هنا !؟ :happy:

اقتباس
أی مشکلة أنا فی خدمة

تسلم حبيبي :wub:

#17
khaled_prg كتب:

كنت أظن أن ++i هي زيادة بعدية للمتغير i و --cnt هي زيادة قبلية للمتغير cnt :), ما دخل الـ comma هنا !؟ :happy:

تسلم حبيبي :wub:

الـ comma في مثال اخي u77431

فآئدتها .. انا الـ --cnt يأتي بعد زيآده الـ i++

في الـ for loop

for ( ما يتم عمله في اخر اللوب  ; شرط التوقف ;  ما يتم انشآءه او اسنآده في اول اللوب)

اما ترجمه الجمله السآبقه

فـهي ..:

الـ comma توضع لمجموعه معاملآت يتم فصلها بـ العلآمه ( , ) اخر معامل هو الـ قيمه النهآئيه للمسند اليه

مثلآ مثآلك انت السآبقه ..

int (-5,34);

اولآ يسند -5 ثم 34 لا اعلم ما الحكمه من وضع المبرمج لهذه العبآره !!

مثآل اخر في استخدام الـ comma ( الفآصله )

هكذآ

int i = 5 , z=3 , j = 5 ;

جميع المتغيرات هذه من نوع int

فصلنا بين متغير ومتغير بـ comma (, ) فقط َ

اتمنى وصلت الفكرهَ :)

تم تعديل هذه المشاركة بواسطة Don DaVinci في 22 نوفمبر 2010 في 21:32

#18

اكيد في دالة في السي بلس بلس تحول من decimal to hexadecimal او التحويل من decimal to binary او التحويل من الي اي صيغه اخرى مثل octal او غيره

الدالة هي

itoa(x,y,z); //x is the decimal number integer

y is a string a saves the value in it

z is the base

the base of the hexa is 16...for binary is 2...for octal is 8

اسهل طريقة عشان تحول بدون اي تعقيدات

وهي الموقع للتأكيد

http://www.cplusplus.com/reference/clibrary/cstdlib/itoa/

ان شاء الله اكون ساعدتك

#19
اقتباس
اسهل طريقة عشان تحول بدون اي تعقيدات

هذه الدالة ليست قياسية.

#21

اخواني اريد من فضلكم تحويل الكود التالي من لغة السي++ الى لغة السي

1.txt

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