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


Udda/jämna tal?

Postades av 2003-03-10 09:56:54 - Per Johansson, i forum visual basic - allmänt, Tråden har 11 Kommentarer och lästs av 2260 personer

Finns det någon färdig funktion i vb som kontrollerar om talet är udda eller jämt?


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-10 10:05:30 - Andreas Olausson

Du kan ju alltid använda Mod

<code>
1 Mod 2 = 1
2 Mod 2 = 0
3 Mod 2 = 1
4 Mod 2 = 0
osv osv...
Negativa tal
-1 Mod 2 = -1
-2 Mod 2 = 0
-3 Mod 2 = -1
-4 Mod 2 = 0
</code>

Mao, Udda tal är 1 (eller -1), Jämna är 0


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-10 10:07:44 - Per Johansson

Hur funkar det, kan du förklara mer?


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-10 10:08:15 - Jesper Brännström

Du kan skriva:

<code>
If tal Mod 2 = 0 Then
MsgBox "Jämt tal"
ElseIf tal Mod 2 = 1 Then
MsgBox "Udda tal"
End If
</code>


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-10 10:15:35 - Jesper Brännström

resultat = tal1 mod tal2

Det Mod gör är att den delar tal1 med tal2 och resulterar ut det restrerande talet...

alltså skriver man resulat = 2 mod 2 så kommer man få 0 ...

skrive rman reslutat = 3 mod 2 så blir det 3/2 vilket går 1 gång.. och ger en rest på 1 ... resultanten blir altså 1.


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-10 11:10:21 - Per Johansson

Oki, I Gat It I Think!

Det verka fuka!

<code>
'Form anrop.
Call Gender_Check(4)
'Medelar Jämt tal!

'Modul
Public Function Value_Check(tal As Integer) As String

If tal Mod 2 = 0 Then
MsgBox "Jämt tal"
ElseIf tal Mod 2 = 1 Then
MsgBox "Udda tal"
End If

End Function

</code>

Tusen tack!!!!!!! :-))


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-10 11:13:47 - Jan Bulér

Lämpligast är att du gör en liten funktion som t ex kontrollerar om ett tal är jämt.

Det kan t ex se ut så här.

<code>
Sub main()

Debug.Print IsEven(5) 'Falskt
Debug.Print IsEven(8) 'Sant
Debug.Print IsEven(-4) 'Sant
Debug.Print IsEven(-3) 'Falskt

Debug.Print Not IsEven(1) 'Sant, Kollar ju om 1 INTE är jämt

End Sub

Public Function IsEven(Value As Long) As Boolean
IsEven = CBool(Value Mod 2 = 0)
End Function

</code>

//
Janne


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-10 17:12:09 - Andreas Hillqvist

Varför använda mod?
i ett udda tal är den lägst sinifikanta biten satt:
<code>
If tal And 1 Then
MsgBox "Udda tal"
Else
MsgBox "Jämt tal"
End If
</code>


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-11 09:18:14 - Jan Bulér

Anders, visst fungerar det med din lösning 'tal AND 1'. Vad man dock ska betänka är hur True och False är definerade, idag är False = 0 och True är allt som skilljer sig från False. Nu kommer förmodligen inte definitionen av just True och False att förändras i framtiden men tänk om MS skulle få för sig att definera om dessa konstanter till t ex True = -1 och False = 1, då går det inge bra med 'tal AND 1' längre om du däremot använder 'If (tal AND 1) = 1 Then...' så kommer det alltid att fungera, eller med 'CBool(tal Mod 2 = 0)'

Men som sagt var så kommer förmodligen definitionen för True/False att bestå även i framtiden men tänk på detta i samband med användande av 'systemkonstanter'

//
Janne.


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-11 13:35:46 - Niklas Jansson

>idag är False = 0 och True är allt som skilljer sig från False
Nja... False = 0 och True = -1, och sen så tolkas allt som är skilt från noll som true.

Vad som är ett viktigare argument är att det dels är lättare att förstå mod-varianten, och dels så finns det ingen eller mycket liten prestandafördel med Andreas variant.

Båda funktionerna finns primitivt i processorn.


Svara

Sv: Udda/jämna tal?

Postades av 2003-03-11 17:01:40 - Jan Bulér

Ok, håller med om att True är definerat som -1, gick lite fort där, vad jag egentligen menade är precis som du skriver att allt som inte är 0 tolkas som True.



Från MSDN (ang VB).

Boolean variables are stored as 16-bit (2-byte) numbers, but they can only be True or False. Boolean variables display as either True or False (when Print is used) or #TRUE# or #FALSE# (when Write # is used). Use the keywords True and False to assign one of the two states to Boolean variables.

When other numeric types are converted to Boolean values, 0 becomes False and all other values become True. When Boolean values are converted to other data types, False becomes 0 and True becomes -1.



//
Janne.


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

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 569 168
27 952
271 704
1 448
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