نمایش نتایج 1 تا 14 از 14

نام تاپیک: خواندن یک متغییر

  1. #1

    Post خواندن یک متغییر

    سلام
    چگونه میشه فهمید مثلا بیت 12 یه متغییر از نوع لونگ چنده صفره یا یک میشه؟

  2. #2

    نقل قول: خواندن یک متغییر

    dim a as long
    if a.12=1 then exit do

    من تو یه زبون دیگه این کار رو میکردم ولی تو vb نمیدونم چیکار کنم

  3. #3

    نقل قول: خواندن یک متغییر

    یعنی کسی نیست جواب من رو بده ؟ تو رو خدا لازمش دارم

  4. #4

    نقل قول: خواندن یک متغییر

    نقل قول نوشته شده توسط reza1373 مشاهده تاپیک
    سلام
    چگونه میشه فهمید مثلا بیت 12 یه متغییر از نوع لونگ چنده صفره یا یک میشه؟
    دقت کنید که بیت شماره 12 با بیت 12 ام فرق داره، شماره بیت ها از 0 شروع میشه، پس بیت شماره 12 در واقع بیت سیزدهم ئه.
    بیت 12 ام بیت شماره 11 است و ارزش اش معادل 2 به توان 11 است :


    Dim n As Long = 12345
    Dim b As Integer = Math.Sign(n And (2 ^ 11))
    MessageBox.Show(b)

  5. #5

    نقل قول: خواندن یک متغییر

    ممنون فقط
    چطور میشه عوضش کرد؟
    مثلا یه بیتشو یک کنم چطوری میشه
    آخرین ویرایش به وسیله reza1373 : پنج شنبه 03 اسفند 1391 در 22:17 عصر

  6. #6

    نقل قول: خواندن یک متغییر

    دوستان کمککککککککککک

  7. #7

    نقل قول: خواندن یک متغییر

    نقل قول نوشته شده توسط reza1373 مشاهده تاپیک
    ممنون فقط
    چطور میشه عوضش کرد؟
    مثلا یه بیتشو یک کنم چطوری میشه
    از AND و OR یا XOR استفاده میشه.
    برای 0 یا 1 کردن یک بیت :

    Private Sub SetBit(ByRef value As Long, ByVal bit As Integer, ByVal bitValue As Boolean)
    If bitValue Then
    value = value Or (2 ^ bit)
    Else
    value = value And (Long.MaxValue Xor (2 ^ bit))
    End If
    End Sub


    به عنوان مثال، یک کردن بیت شماره 11 در عدد n

    Dim n As Long = 12345
    SetBit(n, 11, True)


    صفر کردن بیت شماره 11 در عدد n

    Dim n As Long = 12345
    SetBit(n, 11, False)

  8. #8

    نقل قول: خواندن یک متغییر

    مهندس ارور میده

    فقط همین تنها بسه؟
    SetBit(n, 11, True)

    یا اون ساب رو هم میخواد؟

  9. #9

    نقل قول: خواندن یک متغییر

    نقل قول نوشته شده توسط reza1373 مشاهده تاپیک
    مهندس ارور میده

    فقط همین تنها بسه؟
    SetBit(n, 11, True)

    یا اون ساب رو هم میخواد؟
    خوب معلومه که می خواد، چون صفر و یک کردن شیوه متفاوتی داشت اون روتین رو نوشتم که کار تون ساده بشه.

  10. #10

    نقل قول: خواندن یک متغییر

    میشه یه ذره دستوراتو توضیح بدید ممنون میشم
    میخوام مثلا بگم بیت 12 ام A برابر بیت 12 B بشه باید چطوری بگم

  11. #11

    نقل قول: خواندن یک متغییر

    اینجوری درسته؟
    SetBit(b, 12, Math.Sign(a And (2 ^ 11)))

  12. #12

    نقل قول: خواندن یک متغییر

    نقل قول نوشته شده توسط reza1373 مشاهده تاپیک
    میشه یه ذره دستوراتو توضیح بدید ممنون میشم
    اصول مقدماتی محاسبات باینری ئه :

    ارزش بیت شماره n در یک عدد باینری برابر است با 2 به توان n

    وقتی عددی با عدد دیگری AND می شود، فقط زمانی بیت های متناظر 1 می شوند که هر دو 1 باشند، وگرنه 0 خواهند شد.
    از این خاصیت AND برای 0 کردن بیت ها استفاده می شود.
    فرضا اگر عدد x را با عدد 11111101 AND کنیم، بیت دوم اش 0 خواهد شد و بقیه بیت ها تغییری نخواهند کرد.

    وقتی عددی با عدد دیگری OR می شود، فقط زمانی بیت های متناظر 0 می شوند که هر دو 0 باشند، وگرنه 1 خواهند شد.
    از این خاصیت OR برای 1 کردن بیت ها استفاده می شود.
    فرضا اگر عدد x را با عدد 00000010 OR کنیم، بیت دوم اش 1 خواهد شد و بقیه بیت ها تغییری نخواهند کرد.

    وقتی عددی را با عدد دیگری XOR کنیم، بیت های متناظری که یکسان اند 0 خواهند شد و بیت های متناظری که با هم فرق دارند 1 خواهند شد.
    از این خاصیت XOR برای تغییر دادن مقدار بیت ها استفاده می شود.
    فرضا اگر عدد x را با عدد 00000010 XOR کنیم، بیت دوم اش تغییر خواهد کرد، اگر 0 بود 1 می شود و اگر 1 بود 0 می شود. بقیه بیت ها تغییری نخواهند کرد.

    ما برای 1 کردن بیت شماره n ام، باید آنرا با عددی OR کنیم که بیت n اش 1 است و بقیه 0 اند. این عدد همان 2 به توان n است.
    ما برای 0 کردن بیت شماره n ام، باید آنرا با عددی AND کنیم که بیت n اش 0 است و بقیه 1 اند. این عدد را از XOR کردن عددی که همه
    بیت هایش 1 است (Long.MaxValue) و عدد 2 به توان n بدست می آوریم.

  13. #13

    نقل قول: خواندن یک متغییر

    نقل قول نوشته شده توسط reza1373 مشاهده تاپیک
    اینجوری درسته؟
    SetBit(b, 12, Math.Sign(a And (2 ^ 11)))
    بیت شماره 12 بیت 13 ام ئه، اگر اون 12 و 11 شما رو به اشتباه می اندازه، برای خوندن مقدار بیت شماره n از GetBit استفاده کنید :

    Private Function GetBit(ByRef value As Long, ByVal bit As Integer) As Integer
    Return Math.Sign(value And (2 ^ bit))
    End Function


    بیت 12 ام همیشه بیت شماره 11 است :

    SetBit(b, 11, GetBit(a, 11))

  14. #14

    نقل قول: خواندن یک متغییر

    به نظرتون مشکل کجایه یه ارور میده به خطی که مشخص کردم



     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Dim bmp As Bitmap
    bmp = New Bitmap(PictureBox1.Image)
    Dim color As Color, r As Byte, g As Byte, b As Byte, x As Long, y As Long, out As Long
    x = 0
    y = 1
    Do
    color = bmp.GetPixel(x, y)
    x = x + 1
    If x = 240 Then
    x = 0
    y = y + 1
    End If
    If y = 320 Then Exit Sub
    b = color.B
    SetBit(out, 0, Math.Sign(b And (2 ^ 1)))
    SetBit(out, 1, Math.Sign(b And (2 ^ 2)))
    SetBit(out, 2, Math.Sign(b And (2 ^ 3)))
    SetBit(out, 3, Math.Sign(b And (2 ^ 4)))
    SetBit(out, 4, Math.Sign(b And (2 ^ 5)))

    g = color.G
    SetBit(out, 5, Math.Sign(g And (2 ^ 1)))
    SetBit(out, 6, Math.Sign(g And (2 ^ 2)))
    SetBit(out, 7, Math.Sign(g And (2 ^ 3)))
    SetBit(out, 8, Math.Sign(g And (2 ^ 4)))
    SetBit(out, 9, Math.Sign(g And (2 ^ 5)))
    SetBit(out, 10, Math.Sign(g And (2 ^ 6)))
    r = color.R
    SetBit(out, 11, Math.Sign(r And (2 ^ 1)))
    SetBit(out, 12, Math.Sign(r And (2 ^ 2)))
    SetBit(out, 13, Math.Sign(r And (2 ^ 3)))
    SetBit(out, 14, Math.Sign(r And (2 ^ 4)))
    SetBit(out, 15, Math.Sign(r And (2 ^ 5)))




    SerialPort1.WriteLine(out.ToString() + Chr(13)) '<<<<<<<<<<<<<<<<<<-------------------
    For a = 0 To 80000
    Next
    Loop
    End Sub

تاپیک های مشابه

  1. خواندن اطلاعات از متغییر نوع OleVariant
    نوشته شده توسط nightHunter در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 1
    آخرین پست: دوشنبه 15 شهریور 1389, 19:15 عصر
  2. خواندن متغییر از داخل Label
    نوشته شده توسط bluray در بخش C#‎‎
    پاسخ: 6
    آخرین پست: جمعه 23 مرداد 1388, 10:52 صبح
  3. خواندن قسمتی از یک متغییر String
    نوشته شده توسط AliReza Vafakhah در بخش برنامه نویسی در Delphi Prism
    پاسخ: 3
    آخرین پست: سه شنبه 29 بهمن 1387, 01:15 صبح
  4. خواندن از db و ذخیره در متغییر
    نوشته شده توسط saed2006 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: دوشنبه 20 آبان 1387, 04:04 صبح
  5. خواندن یک متغییر از فایل txt
    نوشته شده توسط naeim12345 در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: جمعه 23 دی 1384, 14:35 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •