PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » преобразование массивов


преобразование массивов

Сообщений 1 страница 2 из 2

1

Всем привет.
Петру отдельное спасибо.Заменил >> на ассемблерную
вставку- все ОК!
Но вот другая проблема. При инциализации массива v() из inp()
старший байт в v(0) всегда равен FF.v(1) все ОК. Интересно, в чем проблема?
В компиляторе? 

Код:
Dim v.l(1)

Dim inp.b(7)
DataSection
  m1:
  Data.b $72, $A4, $1f, $8f, $63, $66, $01, $aa
  m2:
EndDataSection
CopyMemory(?m1, @inp(), ?m2-?m1)


v(0) = inp(0)<<24 | inp(1)<<16|inp(2)<<8 | inp(3)
v(1) = inp(4)<<24 | inp(5)<<16|inp(6)<<8 | inp(7)

0

2

Так работает как надо.

Код:
Dim v.l(1)

Dim inp.a(7)
DataSection
  m1:
  Data.a $72, $A4, $1f, $8f, $63, $66, $01, $aa
  m2:
EndDataSection
CopyMemory(?m1, @inp(), ?m2-?m1)

v(0) = inp(0)<<24 | inp(1)<<16|inp(2)<<8 | inp(3)
v(1) = inp(4)<<24 | inp(5)<<16|inp(6)<<8 | inp(7)

Debug Hex(v(0))
Debug Hex(v(1))

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » преобразование массивов