أنواع البيانات لنتائج عامل التشغيل
Visual Basic يحدد نتيجة نوع البيانات لعملية استناداً إلى أنواع البيانات للمعاملات. في بعض الحالات قد يكون نوع البيانات مع نطاق أكبر من تلك التي في كلا المُعاملين.
نطاقات نوع البيانات
نطاقات أنواع البيانات ذات الصلة, بالترتيب من الأصغر إلى الأكبر ، كالتالي:
قيمة منطقية — قيمتين محتملتين
عدد صحيح, UInteger — 4,294,967,296 (4.2... E + 9) قيم تكامل محتملة
طويل, ULong — 18,446,744,073,709,551,615 (1.8... E + 19) قيم تكامل محتملة
عشري — 1.5... E + 29 قيم تكامل محتملة، أقصى نطاق 7.9... 28 E + (قيمة مطلقة)
مفرد — أقصى نطاق 3.4... E + 38 (قيمة مطلقة )
مزدوج — أقصى نطاق 1.7... E + 308 (قيمة المطلقة)
للحصول على المزيد من المعلومات حول أنواع البيانات Visual Basic راجع خلاصة نوع بيانات (Visual Basic).
إذا كان مُعامل يقيم ل لا شيء, العوامل الحسابية Visual Basic تعامله كأصفار.
حسابي عشري
لاحظ أن نوع البيانات الـعشري ليس نظام عدد مضروب بأس القاعدة ولا عدد صحيح.
إذا كان أحد عوامل من +,– , * ,/ ، أو Mod العملية هي Decimal و الأخرى غير ذلك Single أو Double , Visual Basic يوسع المُعامل الأخر ل Decimal . ينفذ العملية في Decimal، و نوع البيانات الناتج هو Decimal.
الفاصلة العائمة الحسابية
Visual Basic ينفذ أكثر عمليات الفاصلة العائمة الحسابية في مزدوج ، والتي هي نوع البيانات الأكثر كفاءة عن مثل هذه العمليات. ومع ذلك، إذا كان مُعامل هو مفرد والآخر غير ذذلك Double, Visual Basic ينفذ التشغيل في Single. يوسع كل معامل حسب الحاجة إلى نوع بيانات المناسب قبل حصول التشغيل و الناتج على نوع البيانات هذا.
/ و ^ عوامل التشغيل
عامل التشغيل/ يتم تعريفه فقط ل العشري, المفرد,و مالزدوج أنواع البيانات. Visual Basicيوسع كل معامل حسب الحاجة إلى نوع بيانات المناسب قبل حصول التشغيل و الناتج على نوع البيانات هذا.
يعرض الجدول التالي أنواع البيانات الناتجه لعامل التشغيل / . لاحظ أن هذا الجدول متماثل; لتركيبة معينة من أنواع البيانات المُعامل ، نوع البيانات الناتج هو نفس نوع بغض النظر عن ترتيب المُعاملات .
Decimal |
Single |
Double |
أي نوع عدد صحيح |
|
Decimal |
عشري |
مفرد |
مزدوج |
عشري |
Single |
مفرد |
مفرد |
مزدوج |
مفرد |
Double |
مزدوج |
مزدوج |
مزدوج |
مزدوج |
أي نوع عدد صحيح |
عشري |
مفرد |
مزدوج |
مزدوج |
عامل التشغيل^ يتم تعريفة فقط لنوع البيانات Double . Visual Basicيوسع كل معامل عند الضرورة ليتم Double قبل التشغيل, ونوع البيانات الناتج دائماً Double.
عدد صحيح حسابي
يعتمد نوع البيانات الناتج لعملية عدد صحيح على أنواع البيانات لمعاملات التشغيل . بشكل عام Visual Basic يستخدم النهج التالي لتحديد نوع البيانات الناتج:
إذا كان كلا المعاملين لعامل تشغيل ثنائي له نفس نوع البيانات، وبالتالي الناتج يملك ذلك النوع من البيانات. يتم استثناءBoolean، حيث يتم فرضه إلى Short.
إذا تشارك معامل بدون اشارة مع معامل باشارة, الناتج يكون من النوع ذو الاشارة مع الأقل كـأكبر مدى من أحد المعاملين.
وإلا، عادةً تملك النتيجة أكبر نوع بيانات معامل التشغيل من الاثنين.
لاحظ أن نوع البيانات الناتج قد لا يكون نفس نوع بيانات مُعامل التشغيل.
ملاحظة
نوع البيانات الناتج ليس دائماً كبير بشكل كاف لاحتواء كل القيم الممكنة الناتجة من التشغيل. استثناء OverflowException يمكن أن يحدث إذا كانت القيمة كبيرة جداً بالنسبة نوع بيانات النايج .
عاملي أحادي + و –
يعرض الجدول التالي أنواع البيانات الناج للعوامل الأحادية الاثنين, + و –.
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
+ أحادي |
قصير |
SByte |
Byte (بايت) |
قصير |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
– أحادي |
قصير |
SByte |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
عشري |
عوامل التشغيل << و >>
يعرض الجدول التالي أنواع البيانات الناج لعوامل ازاحة البت الاثنين, << و >>. Visual Basic يعامل كل عامل ازاحة البت كعامل أحادي على مُعامل التشغيل الموجود على يساره (نقش البت المراد ازاحته).
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
<<, >> |
قصير |
SByte |
Byte (بايت) |
قصير |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
إذا كان المُعامل الأيسر Decimal, Single, Double، أو String, Visual Basic قبل التشغيل ويحاول تحويله Long ونوع البيانات الناتج هو Long. الـمُعامل في اليمين (عدد مواضع بت المراد ازاحتها) يجب أن يكون Integer أو نوع يقوم بتوسيع إل Integer.
عوامل ثنائي ال +,-, *, و ال Mod
يعرض الجدول التالي أنواع البيانات الناتجة لثنائي +و –العوامل و *و Modالعوامل. لاحظ أن هذا الجدول متماثل; لتركيبة معينة من أنواع البيانات المُعامل ، نوع البيانات الناتج هو نفس نوع بغض النظر عن ترتيب المُعاملات .
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
Boolean |
قصير |
SByte |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
عشري |
SByte |
SByte |
SByte |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
عشري |
Byte |
قصير |
قصير |
Byte (بايت) |
قصير |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
Short |
قصير |
قصير |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
عشري |
UShort |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
UShort |
Integer (عدد صحيح) |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
Integer |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
عشري |
UInteger |
Long (طويل) |
Long (طويل) |
UInteger |
Long (طويل) |
UInteger |
Long (طويل) |
UInteger |
Long (طويل) |
ULong |
Long |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
عشري |
ULong |
عشري |
عشري |
ULong |
عشري |
ULong |
عشري |
ULong |
عشري |
ULong |
عامل \
يعرض الجدول التالي أنواع البيانات الناتجه لعامل التشغيل \ . لاحظ أن هذا الجدول متماثل; لتركيبة معينة من أنواع البيانات المُعامل ، نوع البيانات الناتج هو نفس نوع بغض النظر عن ترتيب المُعاملات .
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
Boolean |
قصير |
SByte |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
SByte |
SByte |
SByte |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Byte |
قصير |
قصير |
Byte (بايت) |
قصير |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
Short |
قصير |
قصير |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
UShort |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
UShort |
Integer (عدد صحيح) |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
Integer |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
UInteger |
Long (طويل) |
Long (طويل) |
UInteger |
Long (طويل) |
UInteger |
Long (طويل) |
UInteger |
Long (طويل) |
ULong |
Long |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
ULong |
Long (طويل) |
Long (طويل) |
ULong |
Long (طويل) |
ULong |
Long (طويل) |
ULong |
Long (طويل) |
ULong |
إذا كان أحد مُعاملي عامل التشغيل \ هو الـعشري, الـمفرد, أو الـمزدوج, Visual Basic يحاول تحويله الى الطويل قبل التشغيل ونوع بيانات الناتج هو Long.
مقارنات علائقية و المختصة بالبت
نوع البيانات الناتجة لتشغيل العلائقية (=, <>, <, >, <=, >=) هو دوماً Booleanنوع بيانات القيمة المنطقية في (Visual Basic). ونفس الشيء صحيح بالنسبة للتشغيلات المنطقية (And, AndAlso, Not, Or, OrElse, Xor) على معاملات Boolean .
نوع البيانات الناتجة للتشغيل المنطقية المختصة بالبت يعتمد على أنواع البيانات للمعاملات. لاحظ أن AndAlso و OrElse يتم تعريفها فقط ل Boolean، و Visual Basic يقوم بتحويل كل مُعامل كلما دعت الضرورة إلى Boolean قبل تنفيذ التشغيل.
عوامل التشغيل =, <>, <, >, <=,و >=
إذا كان كلاهما المعاملين عبارة عن Boolean, Visual Basic يعتبر True ليكون أقل من False. في حالة مقارنة نوع عددي مع String, Visual Basic يحاول تغيير ال String إلى Double قبل التشغيل. عوامل الChar أو Date يمكن مقارنتها فقط مع معامل آخر من نفس نوع البيانات. يكون نوع البيانات الناتج دوماً Boolean.
المختصة بالبت ليست عامل تشغيل
يعرض الجدول التالي أنواع البيانات الناتجه لعامل التشغيل المختص بالبت Not .
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
Not |
قيمة منطقية |
SByte |
Byte (بايت) |
قصير |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
إذا كان المُعامل Decimal, Single, Double، أو String, Visual Basic يحاول تحويله الى Long قبل التشغيل ونوع البيانات الناتج هو Long.
عوامل التشغيل المختصة بالبت و، أو ، Xor
يعرض الجدول التالي أنواع البيانات الناتجة لعوامل التشغيل Andو Or و Xor. لاحظ أن هذا الجدول متماثل; لتركيبة معينة من أنواع البيانات المُعامل ، نوع البيانات الناتج هو نفس نوع بغض النظر عن ترتيب المُعاملات .
Boolean |
SByte |
Byte |
Short |
UShort |
Integer |
UInteger |
Long |
ULong |
|
Boolean |
قيمة منطقية |
SByte |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
SByte |
SByte |
SByte |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Byte |
قصير |
قصير |
Byte (بايت) |
قصير |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
Short |
قصير |
قصير |
قصير |
قصير |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
UShort |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
UShort |
Integer (عدد صحيح) |
UShort |
Integer (عدد صحيح) |
UInteger |
Long (طويل) |
ULong |
Integer |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Integer (عدد صحيح) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
UInteger |
Long (طويل) |
Long (طويل) |
UInteger |
Long (طويل) |
UInteger |
Long (طويل) |
UInteger |
Long (طويل) |
ULong |
Long |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
Long (طويل) |
ULong |
Long (طويل) |
Long (طويل) |
ULong |
Long (طويل) |
ULong |
Long (طويل) |
ULong |
Long (طويل) |
ULong |
إذا كان معامل عبارة عن Decimal, Single, Double، أو String, Visual Basic يحاول تحويله الى Long قبل التشغيل و نوع البيانات الناتجة هي نفسها كما لو كان عامل التشغيل ذاك قد كان مسبقاً Long.
عوامل التشغيل المتنوعة
عامل التشغيل & يتم تعريفه فقط من أجل ربط عوامل ال String المعاملات. Visual Basicيحول كل معامل عند الضرورة ل String قبل التشغيل, ونوع البيانات الناتج دائماً String. لأغراض عامل التشغيل & كل عمليات التحويل إلى String تعتبر يمكن توسيعها حتى إذا Option Strict هو On.
عوامل Is و IsNot يتطلب كلا المعاملين أن يكونا من نوع المرجع. تعبير TypeOf... Is يتطلب أن يكون المُعامل الأول من نوع المرجع و المُعامل الثاني أن يكون اسم نوع البيانات. في كل هذه الحالات نوع البيانات الناتجة هو Boolean.
عامل التشغيل Like يتم تعريفه فقط من أجل مطابقة نقش معاملات ال String . Visual Basic يحاول تحويل كل معامل عند الضرورة إلى String قبل التشغيل. يكون نوع البيانات الناتج دوماً Boolean.
راجع أيضًا:
المرجع
خلاصة نوع بيانات (Visual Basic)
أسبقية عامل التشغيل في Visual Basic
عوامل تشغيل مسرودة حسب الوظيفة
عوامل التشغيل الحسابية في (Visual Basic)
عوامل تشغيل المقارنة (Visual Basic)
المبادئ
عوامل التشغيل و التعبيرات في Visual Basic
عوامل التشغيل الحسابية في (Visual Basic)
عوامل تشغيل المقارنة في Visual Basic