Post by just me » 21 Dec 2018, 11:08
Moin,
im dualen bzw. binären Zahlensystem ist bei allen ungeraden Zahlen die niederwertigste Bitstelle (Bit 0) auf 1 gesetzt. Ihr Wert ist damit
1 * 2^0 =
1. Alle höheren Bitstellen liefern Potenzen von
2 oder
0, und damit gerade Werte. Im Binärsystem reicht deshalb für die Prüfung, ob ein Wert ungerade ist, ein einfaches
If (Wert & 1):
Code: Select all
Loop 10 {
If (A_Index & 1)
MsgBox, %A_Index% ist ungerade!
}
Moin,
im dualen bzw. binären Zahlensystem ist bei allen ungeraden Zahlen die niederwertigste Bitstelle (Bit 0) auf 1 gesetzt. Ihr Wert ist damit [c]1 * 2^0[/c] = [c]1[/c]. Alle höheren Bitstellen liefern Potenzen von [c]2[/c] oder [c]0[/c], und damit gerade Werte. Im Binärsystem reicht deshalb für die Prüfung, ob ein Wert ungerade ist, ein einfaches [c]If (Wert & 1)[/c]:
[code]Loop 10 {
If (A_Index & 1)
MsgBox, %A_Index% ist ungerade!
}[/code]