Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


2 Bytes till 1 Integer...

Postades av 2007-11-15 16:55:22 - Jörgen Fransson, i forum visual basic - allmänt, Tråden har 11 Kommentarer och lästs av 798 personer

Någon som har något knep på hur man ska addera två bytes och spara resultatet i en integer?
Måste jag köra detta på bitnivå eller kan man göra något annat smart?

Exempel

Byte1 = 243 = 11110011
Byte2 = 51 = 00110011

Byte2 Byte1
Integer1 = 00110011 11110011 = 13299


Svara

Sv: 2 Bytes till 1 Integer...

Postades av 2007-11-15 18:03:16 - Jan Bulér

integer1 = (byte2 * 256) + byte1


Svara

Sv:2 Bytes till 1 Integer...

Postades av 2007-11-15 18:25:47 - Jörgen Fransson

Bugar och tackar...

Hur gör man på andra hållet då? Om man vill splitta en integer till två bytes?
Jag har försökt ett antal olika sätt men jag får inte till det när det är negativa tal.


Jag har provat följande för att splitta en integer till två bytes.

txtInteger.Text = "-32767"
txtLoByte.Text = txtInteger.Text And &HFF&
txtHiByte.Text = (txtInteger.Text And &HFF00&) / 256

Ovanstående ger 1 i txtLoByte.text och 128 i txtHiByte.txt



När jag sedan trycker in 1 och 128 i nedanstående så får jag 32769 i txtInteger.Text

txtInteger.Text = (txtHiByte.Text * 256) + txtLoByte.Text



Vad gör jag för fel?


Svara

Sv: 2 Bytes till 1 Integer...

Postades av 2007-11-15 21:23:32 - Lars Gottfridsson

Dim byte2 As Byte
Dim byte1 As Byte
Dim int1 As Integer = 13299
byte2 = int1 Mod 256
byte1 = int1 \ 256


Svara

Sv: 2 Bytes till 1 Integer...

Postades av 2007-11-15 22:07:49 - Thomas Vanhaniemi

Är inte säker nu på om VB6 och äldre har stöd för det, men lättast gör du båda sakerna med en shift operation.
<code>
Dim a As Byte
Dim b As Byte

a = 100
b = 200

Dim c As Integer
c = a << 8 + b
</code>
För att sedan splitta upp det i två byte gör du i princip tvärt om
<code>
Dim a As Byte
Dim b As Byte
Dim c As Integer
c = 32154

a = (c >> 8) And 256
b = c And 256
</code>
Inte testat och det var evigheter sen jag skrev gammal VB.


Svara

Sv:2 Bytes till 1 Integer...

Postades av 2007-11-15 23:26:26 - Jörgen Fransson

Jag provade följande med då fick jag negativa tal i byte1 och byte2...
Detta verkar vara en svår nöt att knäcka...

Dim byte1 As Byte
Dim byte2 As Byte
Dim int1 As Integer

int1 = -32767

byte2 = int1 Mod 256
byte1 = int1 \ 256




Vad jag vet stödjer VB6 int << och >>...


Svara

Sv: 2 Bytes till 1 Integer...

Postades av 2007-11-16 07:51:38 - Sven Åke Persson

I detta sammanhang kolla mitt uppskick. Modda efter behov
Programarkivet:HiWord LoWord spara minne

Programarkivet:Omvandla VB Long till Bits

Programarkivet:Binary konvertera.


Svara

Sv:2 Bytes till 1 Integer...

Postades av 2007-11-16 15:19:25 - Andreas Thorarins

#edit glöm va som stog här :)


Svara

Sv: 2 Bytes till 1 Integer...

Postades av 2007-11-16 22:46:04 - Jörgen Fransson

Hmm... Jag får inte till det med en negativ integer...


Svara

Sv:2 Bytes till 1 Integer...

Postades av 2007-11-17 07:53:26 - Lars Gottfridsson

råkade bifoga vb.net kod. (skäms skäms)

men funkar Thomas kod så är ju saken löst.


Svara

Sv: 2 Bytes till 1 Integer...

Postades av 2007-11-17 09:20:37 - Sven Åke Persson

<b>Hmm... Jag får inte till det med en negativ integer...</b>

Spånar snabbt och fel. Känn av minustecknet och multiplicera svaret med -1


Svara

Sv:2 Bytes till 1 Integer...

Postades av 2007-11-17 15:52:18 - Samuel Adolfsson

http://en.wikipedia.org/wiki/Signed_number_representations


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
454
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies