Che cosè un intero con segno?

Migliore risposta

Dato che viene chiesto sotto largomento Ingegneria del software, forse possiamo parlare di rappresentazione.

Otto bit di dati (dove un bit è un interruttore che rappresenta un 1 o uno 0) possono contenere un numero intero senza segno come segue:

0 = 00000000

1 = 00000001

2 = 00000010

4 = 00000100

8 = 00001000

16 = 00010000

256 = 10000000

511 = 11111111

Quindi i nostri 8 bit di dati possono contenere un numero intero senza segno grande come 255 e piccolo come 0. Tuttavia, le applicazioni del mondo reale possono richiedere numeri negativi oltre a numeri positivi.

Per accogliere interi con segno, dobbiamo rinunciare a parte della nostra memoria. Ci sono diversi schemi che lo fanno.

Lo schema più semplice sarebbe usare il primo bit per rappresentare il segno (diciamo che zero è positivo e 1 è negativo). Questo ha la divertente conseguenza di avere un valore zero positivo e uno negativo.

+ 0 = 00000000

- 0 = 10000000

1 = 00000001

- 1 = 10000001

+ 2 = 00000010

- 2 = 10000010

+ 64 = 01000000

- 64 = 11000000

+127 = 01111111

Questo ci permette di memorizzare numeri da Da -127 a +127, ovvero 255 numeri (compreso 0).

Un altro modo per farlo è utilizzare quello che viene chiamato un-complemento archiviazione. Per questo, il numero negativo è la sequenza di bit opposta al numero positivo.

Ad esempio:

0 = 00000000

0 = 11111111

2 = 00000010

- 2 = 11111101

Laritmetica con numeri negativi ci consente di sommare i due numeri. Ad esempio 2 + -2 diventa

+ 2 = 00000010

-2 = 11111101

--------------

= 11111111

che abbiamo visto in precedenza era zero. Quindi lintervallo che possiamo memorizzare in questa rappresentazione con 8 bit sono i numeri interi compresi tra -127 e +127, o 255 numeri (poiché includiamo zero come numero singolo).

Poiché il negativo di zero è zero , ci sono ancora due rappresentazioni di zero. È un po dispendioso, quindi per aggirare questo problema, viene utilizzato twos-complement . Questo prende il numero negativo con complemento a uno e ne aggiunge uno. In questa rappresentazione

0 = 00000000

2 = 00000010

- 2 = 11111110

- 1 = 11111111

1 = 00000001

-128 = 10000000

127 = 01111111

-127 = 10000001

Quindi lintervallo che possiamo memorizzare in questa rappresentazione con 8 bit sono gli interi compresi tra -128 e +127, o 256 numeri in totale. Lutilizzo di questo schema ci consente di utilizzare più efficacemente tutte le combinazioni, il che può essere molto importante se vogliamo utilizzare al meglio le risorse che rappresentano cose fondamentali come gli interi con segno.

Ci sono altre forme di numeri con segno rappresentazioni di numeri interi che possono essere visualizzate in Rappresentazioni di numeri con segno – Wikipedia .

Risposta

Innanzitutto, nessuna soluzione con numero uguale a zero.

Se sono entrambi zero, i due lati non sono definiti. (Puoi chiamarla una soluzione se lo desideri, non lo farò.)

Se uno è zero e laltro è positivo, allora un lato è zero e laltro è uno.

Se uno è zero e laltro è negativo, allora un lato è uno e laltro è indefinito.

Ora considerando solo numeri interi positivi, è chiaro che a = b funziona.

Per altre soluzioni, prendiamo il logaritmo naturale di entrambi i lati (nessun problema, poiché entrambi i lati sono positivi) e otteniamo

b ln (a) == a ln (b)

Dividi entrambi i lati per a e ln (a) (nessun problema, stiamo considerando solo interi positivi al momento), otteniamo

(b / a) == ln (b) / ln ( a) == ln (a * (b / a)) / ln (a) == [ln (a) + ln (b / a)] / ln (a) == 1 + ln (b / a) / ln (a)

Riorganizza in

(b / a) -1 == ln (b / a) / ln (a)

Moltiplica entrambi i lati per ln (a) e dividi entrambi i lati per (b / a) -1 per ottenere

ln (a) == ln (b / a) [(b / a) -1]

Nota che questa è una divisione per zero se a = b, ma abbiamo già considerato quel caso. Quindi questo è valido solo per a> 0, b> 0 e a b. Ora dai un nome a b / aa, chiamalo x = b / a.

Quindi abbiamo

ln (a) == ln (x) / (x-1)

Notare che il lato sinistro è sempre positivo, a meno che a == 1, nel qual caso abbiamo bisogno di x == 1 (il lato destro può essere definito dalla continuità per coprire x = 1, ed è uguale a 1 a questo punto). Ma se x == 1, allora a = b, quindi la derivazione di questa equazione non era valida e abbiamo già considerato a = b comunque.

Quindi il lato sinistro è positivo per a> 1, ma va bene, perché il lato destro è sempre positivo per positivo x.Ma possiamo pensare separatamente ai casi di ln (a) 1. (ln (a) = 1 non si verifica per i valori interi di a.)

Per ln (a) , abbiamo

ln (x) / (x-1 ) .

Se x> 1, numeratore e denominatore sono positivi, quindi

ln (x) -1, che è sempre il caso. Ma se x , allora numeratore e denominatore sono negativi, quindi

ln (x)> x-1

Questo non è mai il caso della funzione logaritmo. Quindi se ln (a) 1. (Non è necessario considerare x = 1, poiché abbiamo già trattato a = b.)

E se ln (a)> 1? Allora

ln (x) / (x-1)> 1

Se x> 1, allora numeratore e denominatore sono positivi, quindi

ln ( x)> x-1

Non è mai così. Se x , allora numeratore e denominatore sono negativi, in modo che

ln (x) -1

Questo è sempre il caso. Quindi se ln (a)> 1, abbiamo bisogno di x .

Quindi per interi positivi con a b, abbiamo due casi da considerare. Uno è

ln (a) 1

e laltro è

ln (a)> 1 e x

Quindi pensiamo a questo. Cè un solo a> 1 (abbiamo già considerato a = 1) tale che ln (a) , e cioè a = 2. Quindi la x corrispondente è data da

ln (2) == ln (x) / (x-1)

Unipotesi plausibile (e una delle altre risposte ha già questo soluzione) è x = 2. Ma x = b / a e a = 2, quindi se x = 2, allora a = 4. Nota che non può esserci una soluzione per nessun altro valore di x, poiché ln (x) / (x-1) è una funzione strettamente decrescente per x> 0.

Laltro caso è ln (a) > 1, ma in questo caso abbiamo x . Ciò significa b / a o b 1 (vero per qualsiasi intero a> 2), allora a è lintero più grande eb è il più piccolo. Ma ln (b)> 1? Se è così, allora basta cambiare aeb, anche questa deve essere una soluzione a causa della simmetria. Quindi ln (a)> 1, che significa x 1 e ln (b)> 1. ln (b) = 1 non corrisponde a un numero intero, quindi se ln (a)> 1, allora dobbiamo avere ln (b) 1 con ln (b) è 2.

Quindi, se cè una soluzione intera positiva, i due valori aeb sono uguali o uno di loro è 2 e laltro è 4.

Non ci sono soluzioni che coinvolgono a = 0 ob = 0, a meno che non si voglia chiamare a = b = 0 una soluzione, sulla base del fatto che undefined è uguale a undefined, ma Non voglio che mi venga tolta la licenza di matematica.

Potremmo avere soluzioni negative. Supponiamo bene a 0 (sappiamo che non possiamo avere b = 0), allora a ^ b è un intero, ma b ^ a è un intero solo se a = -1. Ma allora a ^ b è -1 se b è dispari e +1 se b è pari. b ^ a è positivo, quindi non possiamo avere a = -1 e dispari b. Ma se b è pari, allora a ^ b è 1 e b ^ a non è uguale a uno. Quindi non possiamo avere a 0. Per lo stesso motivo, non possiamo avere a> 0 eb .

Possiamo avere a eb ? In tal caso, a ^ b è positivo se b è pari e negativo se b è dispari. Allo stesso modo, b ^ a è positivo se a è pari e negativo se a è dispari. Quindi, affinché i due siano uguali, è necessario che aeb siano dispari o che entrambi aeb siano pari.

Supponiamo che siano dispari. Quindi iniziando con

a ^ b == b ^ a

Moltiplichiamo entrambi i lati per uno negativo e riorganizziamo un po , ottenendo

(-a) ^ b == (-b) ^ a

Prendendo il reciproco di entrambi i lati, abbiamo

(-a) ^ (- b) == (-b) ^ (- a)

Ma se a eb 0 e -b> 0, e abbiamo già determinato che le uniche soluzioni positive per -a e -b con entrambe dispari sono quando -a = -b o a = b. Quindi, se aeb sono ciascuno lo stesso numero dispari negativo, vale luguaglianza. Se uno dei due è un numero intero dispari negativo, ma a b, allora non è una soluzione.

E se aeb sono numeri interi pari negativi? Quindi otteniamo

(-a) ^ b == (-b) ^ a

senza moltiplicare entrambi i lati per -1. Prendendo il reciproco di entrambi i lati, abbiamo

(-a) ^ (- b) == (-b) ^ (- a)

Conosciamo già le soluzioni dove -a > 0 e -b> 0 ed entrambi sono numeri interi positivi; o -a = -b, o -a = 2 e -b = 4, o -a = 4 e -b = 2.

Questo copre tutti i casi. Quindi lelenco completo delle soluzioni intere è

a e b sono lo stesso numero intero positivo o negativo (ma non zero)

a = 2 eb = 4

a = 4 e b = 2

a = -2 eb = -4

a = -4 eb = -2

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *