{{htmlmetatags>metatag-robots=() metatag-title=(NOT | ugBASIC User Manual) metatag-keywords=(ugBASIC,Commodore 64,Commodore PLUS/4,ZX Spectrum) metatag-description=(Pagina del manuale per NOT) metatag-media-og:image=(:ugbasic:logo-ugbasic-fb.png) metatag-og:title=(NOT | ugBASIC User Manual) metatag-og:description=(Pagina del manuale per NOT) }} ====== ugBASIC Manuale Utente ====== ===== NOT ===== ===== SINTASSI ===== = NOT x ==== SCOPO ==== Esegue una negazione logica su due espressioni, come negazione bit a bit. Per i confronti gestiti come risultato booleano (''TRUE'' o ''FALSE''), result è ''TRUE'' se entrambe le espressioni sono valutate in modo diverso. La seguente tabella mostra come viene determinato il risultato: '''NOT TRUE = FALSE''' '''NOT FALSE = TRUE''' In generale, l'operatore ''NOT'' esegue una negazione bit a bit dei bit dell'espressione numerica e imposta il bit corrispondente in base alla tabella precedente. Nota che ugBASIC utilizza la convenzione, molto comune nei BASIC degli anni '70 e '80, di considerare la logica booleana come implementata tramite il cosiddetto "complemento a due". In altre parole, il valore ''FALSE'' è associato a un numero composto da tutti ''0'', in termini di bit. Il valore ''TRUE'' è, invece, associato a un numero composto da tutti ''1'', sempre in termini di bit. Secondo la rappresentazione del complemento a 2, un numero composto da tutti 1 è sempre equivalente al numero ''-1'', indipendentemente dal numero di bit di cui è composto, mentre un numero composto da tutti 0 è sempre equivalente a zero. Secondo questa convenzione, c'è una coincidenza tra operazioni bit a bit e logiche: infatti, un ''NOT'' bit a bit, applicato a tutti i bit del numero, sarà equivalente all'operazione logica. Poiché gli operatori logici e bitwise hanno una precedenza inferiore rispetto ad altri operatori aritmetici e relazionali, tutte le operazioni bitwise devono essere racchiuse tra parentesi per garantire risultati accurati. ==== ESEMPIO ==== IF NOT x THEN: PRINT "x is FALSE" : ELSE : PRINT "x is TRUE": ENDIF ==== ABBREVIAZIONE ==== Nt ==== DISPONIBILE SU ==== * Atari (400/800) * Atari XL/XE * Commodore 128 (MOS 8502) * Commodore 128 (Zilog Z80) * Commodore 64 * Commodore 64+REU * TRS-80 Color Computer * TRS-80 Color Computer 3 * ColecoVision * Amstrad CPC 664 * Dragon 32 * Dragon 64 * Thomson MO5 * Thomson MO5 * Olivetti Prodest PC128 * Commodore PLUS/4 * SEGA SC-3000 * SEGA SG-1000 * VG-5000 * Commodore VIC-20 * ZX Spectrum 48 ==== PROBLEMI? ==== Se si riscontra un problema nell'utilizzare questo comando, se si ritiene che vi sia un bug oppure che la spiegazione sia poco chiara, è possibile [[https://github.com/spotlessmind1975/ugbasic/issues/new?title=SEGNALAZIONE SU NOT|aprire una segnalazione]] per questa parola chiave su GitHub. Grazie!===== POWERED BY ===== [[:it:ugbasic:user:index|{{ :ugbasic:user:logo-ugbasic.png?nolink&600 |}}]]