View Full Version : مبتدی: قرار دادن دوبایت در کنار هم ؟؟
سپهر-111
پنج شنبه 12 مرداد 1391, 21:19 عصر
سلام دوستان بزرگوار:قلب:
دوتا متغییر از نوع بایت داریم
A=&HFF
B=&H3B
که مقدار داخلش بر مبنای 16 هستش
حالا میخوام این دوبایت ببچسبونم به هم (نمیخوام جمع کنم فقط میخوام متغیرAدر اول و متغییر B بعد از متغیر اول قرار بگیره)
DIM C AS LONG
مثل این :
C =&HFF3B
بعدش میخوام روش محاسبه انجام بدم پس باید تو متغیر از نوع لانگ قرار بگیره . . .
ممنون میشم اگه دوستان راهنمایی بفرمایند:تشویق:
باتشکر
arenaw
پنج شنبه 12 مرداد 1391, 21:40 عصر
سلام
میتونی یه تیپ تعریف کنی و اینجوری توش بریزی:
Private Type MyByte
Byte1 As Byte
Byte2 As Byte
End Type
Private Sub Form_Load()
Dim bytes As MyByte
bytes.Byte1 = 155
bytes.Byte2 = 233
End Sub
ولی مقدار لانگ رو نمیشه توی بایت بریزیهاا! بایت فقط از 0 میشه تا 255
شایدم منظورت اینجوریه
Private Sub Form_Load()
Dim a As Byte, b As Byte
a = &HFF
b = &H3B
Dim c As Long, t As String
t = CLng(a) & CLng(b)
c = CLng(t)
End Sub
the king
پنج شنبه 12 مرداد 1391, 22:30 عصر
سلام دوستان بزرگوار:قلب:
دوتا متغییر از نوع بایت داریم
A=&HFF
B=&H3B
که مقدار داخلش بر مبنای 16 هستش
حالا میخوام این دوبایت ببچسبونم به هم (نمیخوام جمع کنم فقط میخوام متغیرAدر اول و متغییر B بعد از متغیر اول قرار بگیره)
DIM C AS LONG
مثل این :
C =&HFF3B
بعدش میخوام روش محاسبه انجام بدم پس باید تو متغیر از نوع لانگ قرار بگیره . . .
ممنون میشم اگه دوستان راهنمایی بفرمایند:تشویق:
باتشکر
هر وقت مقدار عددی ای رو در 256 یا H100& ضرب کنید یک بایت به سمت چپ منتقل میشه
و بایت 0 جای خالی سمت راستش رو پر می کنه، سپس با OR یا + اون یکی بایت رو جایگزین
اون بایت 0 کنید :
Dim A As Byte, B As Byte
Dim C As Long
A = &HFF
B = &H3B
C = (CLng(A) * 256&) Or B
MsgBox Hex(C)
سپهر-111
جمعه 13 مرداد 1391, 16:52 عصر
سلام
میتونی یه تیپ تعریف کنی و اینجوری توش بریزی:
Private Type MyByte
Byte1 As Byte
Byte2 As Byte
End Type
Private Sub Form_Load()
Dim bytes As MyByte
bytes.Byte1 = 155
bytes.Byte2 = 233
End Sub
ولی مقدار لانگ رو نمیشه توی بایت بریزیهاا! بایت فقط از 0 میشه تا 255
شایدم منظورت اینجوریه
Private Sub Form_Load()
Dim a As Byte, b As Byte
a = &HFF
b = &H3B
Dim c As Long, t As String
t = CLng(a) & CLng(b)
c = CLng(t)
End Sub
هر وقت مقدار عددی ای رو در 256 یا H100& ضرب کنید یک بایت به سمت چپ منتقل میشه
و بایت 0 جای خالی سمت راستش رو پر می کنه، سپس با OR یا + اون یکی بایت رو جایگزین
اون بایت 0 کنید :
Dim A As Byte, B As Byte
Dim C As Long
A = &HFF
B = &H3B
C = (CLng(A) * 256&) Or B
MsgBox Hex(C)
درورد بر دوستان گل:قلب:
نماز روزه همتون قبول حق
هر دو روش صحیح بود
ممنون از اینکه جواب دادید:تشویق:
اجرتون با خدا
(البته از مدیران محترم عذر میخوام میدونم پست زدن برای تشکر ممنوعه . . .ولی . . .)
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.