Nejlepší odpověď
Jelikož je toto položeno v rámci tématu Softwarové inženýrství, můžeme diskutovat o reprezentaci.
Osm bity dat (kde bit je přepínač představující 1 nebo 0) mohou obsahovat celé číslo bez znaménka takto:
0 = 00000000
1 = 00000001
2 = 00000010
4 = 00000100
8 = 00001000
16 = 00010000
256 = 10000000
511 = 11111111
Takže našich 8 bitů dat pojme celé celé číslo bez znaménka až 255 a tak malé jako 0. Aplikace v reálném světě však mohou vyžadovat záporná i kladná čísla.
Abychom mohli přizpůsobit celá čísla se znaménkem, musíme se vzdát části svého úložiště. Existuje několik schémat, které to dělají.
Nejjednodušším schématem by bylo použít první bit k reprezentaci znaménka (řekněme, že nula je kladná a 1 je záporná). To má zábavný důsledek kladné a záporné nulové hodnoty.
+ 0 = 00000000
- 0 = 10000000
1 = 00000001
- 1 = 10000001
+ 2 = 00000010
- 2 = 10000010
+ 64 = 01000000
- 64 = 11000000
+127 = 01111111
To nám umožňuje ukládat čísla z -127 až +127, což je 255 čísel (včetně 0).
Další způsob, jak toho dosáhnout, je použít tzv. ones-doplněk skladování. Z tohoto důvodu je záporné číslo opačnou bitovou sekvencí než kladné číslo.
Například:
0 = 00000000
0 = 11111111
2 = 00000010
- 2 = 11111101
Aritmetika se zápornými čísly nám umožňuje přidat tato dvě čísla. Například 2 + -2 se stane
+ 2 = 00000010
-2 = 11111101
--------------
= 11111111
, které jsme dříve viděli, byla nulová. Takže rozsah, který můžeme uložit do této reprezentace s 8 bity, jsou celá čísla mezi -127 a +127, nebo 255 čísel (protože zahrnujeme nulu jako jedno číslo).
Protože zápor nula je nula , stále existují dvě reprezentace nuly. To je trochu zbytečné, proto se k tomu používá dvojitý doplněk . To vezme záporné číslo doplnění jedniček a přidá jedno. V tomto vyjádření
0 = 00000000
2 = 00000010
- 2 = 11111110
- 1 = 11111111
1 = 00000001
-128 = 10000000
127 = 01111111
-127 = 10000001
Takže rozsah, který můžeme uložit do této reprezentace s 8 bity, jsou celá čísla mezi -128 a +127, nebo celkem 256 čísel. Použití tohoto schématu nám umožňuje efektivněji využívat všechny kombinace, což může být velmi důležité, pokud chceme co nejlépe využít zdroje představující takové základní věci, jako jsou celá čísla se znaménkem.
Existují i další formy se znaménkem celočíselné reprezentace, které lze vidět na Reprezentace podepsaného čísla – Wikipedia .
Odpověď
Nejprve žádné řešení číslo rovnající se nule.
Pokud jsou obě nulové, pak jsou obě strany nedefinované. (Toto řešení můžete nazvat, pokud chcete – nebudu.)
Pokud je jedna nula a druhá kladná, pak jedna strana je nula a druhá je jedna.
Pokud je jedna nula a druhá záporná, pak jedna strana je jedna a druhá není definována.
Když vezmeme v úvahu pouze kladná celá čísla, je jasné, že a = b funguje.
U jiných řešení vezměte přirozený protokol obou stran (žádný problém, protože obě strany jsou pozitivní) a dostaneme
b ln (a) == a ln (b)
Vydělte obě strany a a ln (a) (žádný problém, uvažujeme o kladných celých číslech pouze v tuto chvíli), dostaneme
(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)
Přeskupit na
(b / a) -1 == ln (b / a) / ln (a)
Vynásobte obě strany ln (a) a vydělte obě strany číslem (b / a) -1, abyste získali
ln (a) == ln (b / a) [(b / a) -1]
Všimněte si, že jde o dělení nulou, pokud a = b, ale tento případ jsme již zvažovali. To tedy platí pouze pro a> 0, b> 0 a a b. Nyní zadejte název b / aa, nazvěte to x = b / a.
Takže máme
ln (a) == ln (x) / (x-1)
Všimněte si, že levá strana je vždy kladná, pokud a == 1, v takovém případě potřebujeme x == 1 (pravá strana může být definována kontinuitou pro pokrytí x = 1, a je v tomto okamžiku rovna 1). Ale pokud x == 1, pak a = b, takže odvození této rovnice bylo neplatné, a stejně jsme již považovali a = b.
Takže levá strana je kladná pro a> 1, ale to je v pořádku, protože pravá strana je vždy kladná pro kladné x.Ale můžeme uvažovat o případech ln (a) 1 zvlášť. (ln (a) = 1 se nevyskytuje pro celočíselné hodnoty a.)
Pro ln (a) máme
ln (x) / (x-1 ) .
Pokud x> 1, pak čitatel a jmenovatel jsou kladné, takže
ln (x) -1, což je vždy ten případ. Ale pokud x , pak čitatel a jmenovatel jsou záporné, takže
ln (x)> x-1
Toto pro logaritmickou funkci nikdy neplatí. Takže pokud ln (a) 1. (Není třeba uvažovat o x = 1, protože jsme již pokryli a = b.)
Co když ln (a)> 1? Potom
ln (x) / (x-1)> 1
Pokud x> 1, pak čitatel a jmenovatel jsou kladné, takže
ln ( x)> x-1
Toto nikdy neplatí. Pokud x , pak čitatel a jmenovatel jsou záporné, takže
ln (x) -1
Toto je vždy případ. Pokud tedy ln (a)> 1, potřebujeme x .
Takže pro kladná celá čísla s b musíme vzít v úvahu dva případy. Jeden je
ln (a) 1
a druhý je
ln (a)> 1 a x
Pojďme se tedy nad tím zamyslet. Existuje pouze jedno a> 1 (již jsme uvažovali a = 1) takové, že ln (a) , a to je a = 2. Pak je odpovídající x dáno
ln (2) == ln (x) / (x-1)
Vzdělaný odhad (a jedna z dalších odpovědí již tuto řešení) je x = 2. Ale x = b / a, a = 2, takže pokud x = 2, pak a = 4. Všimněte si, že pro jinou hodnotu x nemůže existovat řešení, protože ln (x) / (x-1) je striktně klesající funkce pro x> 0.
Druhým případem je ln (a) > 1, ale v tomto případě máme x . To znamená b / a nebo b
Takže pokud existuje kladné celočíselné řešení, buď jsou dvě hodnoty a a b stejné, nebo jedna z nich je 2 a druhá je 4.
Neexistují žádná řešení zahrnující a = 0 nebo b = 0, pokud nechcete volat a = b = 0 řešení, protože undefined se rovná undefined, ale Nechci, aby mi byl odebrán matematický průkaz.
Mohli bychom mít negativní řešení. Předpokládejme, že a 0 (víme, že nemůžeme mít b = 0), pak a ^ b je celé číslo, ale b ^ a je pouze celé číslo, pokud a = -1. Ale pak a ^ b je -1, pokud b je liché, a +1, pokud b je sudé. b ^ a je kladné, takže nemůžeme mít a = -1 a liché b. Pokud je však b sudé, pak a ^ b je 1 a b ^ a není rovno jedné. Takže nemůžeme mít 0. Ze stejného důvodu nemůžeme mít a> 0 a b .
Můžeme mít a a b ? V takovém případě je a ^ b kladné, pokud b je sudé, a záporné, pokud b je liché. Podobně je b ^ a kladné, pokud je a sudé, a záporné, pokud a je liché. Aby byly dva stejné, potřebujeme, aby obě a a b byla lichá, nebo aby obě a a b byla sudá.
Předpokládejme, že jsou lichá. Pak počínaje
a ^ b == b ^ a
Obě strany vynásobíme zápornou a trochu přeuspořádáme, přičemž
(-a) ^ b == (-b) ^ a
Vezmeme-li převrácené hodnoty obou stran, máme
(-a) ^ (- b) == (-b) ^ (- a)
Ale pokud a a b 0 a -b> 0, a již jsme určili, že jediná pozitivní řešení pro -a a -b s oběma lichými jsou když -a = -b, nebo a = b. Takže pokud a a b jsou každé stejné záporné liché celé číslo, platí rovnost. Pokud je buď záporné liché celé číslo, ale b, pak nejde o řešení.
Co když jsou a a b záporná sudá celá čísla? Pak dostaneme
(-a) ^ b == (-b) ^ a
bez vynásobení obou stran -1. Vezmeme-li převrácené hodnoty obou stran, máme
(-a) ^ (- b) == (-b) ^ (- a)
Již známe řešení, kde -a > 0 a -b> 0 a obě jsou dokonce kladná celá čísla; buď -a = -b, nebo -a = 2 a -b = 4, nebo -a = 4 a -b = 2.
Toto pokrývá všechny případy. Takže úplný seznam celočíselných řešení je
aab jsou stejná kladná nebo záporná celá čísla (ale ne nula)
a = 2 a b = 4
a = 4 a b = 2
a = -2 a b = -4
a = -4 a b = -2