Weboldalunk cookie-kat használhat, hogy megjegyezze a belépési adatokat, egyedi beállításokat, továbbá statisztikai célokra és hogy a személyes érdeklődéshez igazítsa hirdetéseit. További információ
Főoldal Belépés/Regisztráció Egy véletlen kérdés Facebook






Kategória: Tudományok » Egyéb kérdések

A kérdés

Tekinthetjük a negatív számokat másnak a negált számoktól?

Attól, hogy az informatikában izomorfak, lehet valahol szerencsésebb lenne megkülönböztetni.

Keress kérdéseket hasonló témákban: informatika, .bit, bitművelet, negáció, negált, negatív, szám, vektor, bitvektor, izomorf

  júl. 11. 23:05  Privát üzenet  

A válaszok
1 2 3
anonymousreview60 nevű felhasználó válasza:

Mi a negált szám? Nem találom.

A válasz 52%-ban hasznosnak tűnik. A válaszíró 76%-ban hasznos válaszokat ad.
# 1/23Időpont júl. 12. 08:09 Privát üzenet
Hasznos számodra ez a válasz?
dubitus nevű felhasználó válasza:

Ha valaki akarja, tekintheti a negatív számokat "alap"-nak -- és akkor azok negálásával kapja a pozitív számokat.

A válaszíró 65%-ban hasznos válaszokat ad.
# 2/23Időpont júl. 12. 08:36 Privát üzenet
Hasznos számodra ez a válasz?
anonymousreview60 nevű felhasználó válasza:

Más választásunk nincs is, mivel tetszőleges nemnegatív szám bitenkénti negáltja nem azonos az ellenkező előjelű számmal:

pl.

+8 = 0b00001000

-8 = 0b11111000

~8 = 0b11110111

+137 = 0b10001001

-137 = 0b01110111

~137 = 0b01110110



A válasz 0%-ban hasznosnak tűnik. A válaszíró 76%-ban hasznos válaszokat ad.
# 3/23Időpont júl. 12. 09:20 Privát üzenet
Hasznos számodra ez a válasz?
anonymousreview60 nevű felhasználó válasza:

#4 az eredeti kérdésre vonatkozik.

A válasz 52%-ban hasznosnak tűnik. A válaszíró 76%-ban hasznos válaszokat ad.
# 4/23Időpont júl. 12. 09:21 Privát üzenet
Hasznos számodra ez a válasz?
2*Sü nevű felhasználó válasza:

Nekünk van egy fix mennyiségű bitünk. Azt meg lehet feleltetni egy számnak, ha a biteket, mint számjegyeteket egy kettes számrendszerbeli számnak tekintjük.

01101001₂ = 105₁₀

Nyilván ez egy magától adódó megfeleltetés a bitsorozat és természetes számok között.


Hogy aztán a bitsorozatnak, illetve az annak megfeleltetett természetes számoknak a továbbiakban mit feleltetsz meg, az a te döntésed. Pl. lehet ez egy hibakód is:

1 → fájl nem található

2 → nincs jogosultság a fájl olvasására

3 → nincs jogosultság a fájl írására

stb…


Az ASCII tábla karaktereket feleltet meg a bitsorozatnak/természetes számnak:

32 → szóköz

32 → felkiáltójel (!)

33 → kettős idézőjel (")

stb…


~ ~ ~


Nyilván lehet olyan megfeleltetést is csinálni, aminél ezen bitsorozatoknak/természetes számoknak az egész számok egy olyan intervallumát felelteted meg, ami tartalmaz pozitív és negatív egészeket is. Ez ezerféleképpen meg lehet tenni, pl. egy intuitív módon kézenfekvő megoldás, hogy az első bit – a természetes szám kettes számrendszerbeli alakjának legmagasabb helyiértéke – jelezze az előjelet:

0 000 0000₂ → 0

0 000 0001₂ → 1

0 000 0010₂ → 2

0 011 0010₂ → 50

1 000 0000₂ → -0

1 000 0001₂ → -1

1 000 0010₂ → -2

1 011 0010₂ → -50

1 111 1111₂ → -127


Így -127 és 127 közötti intervallumba tartozó egész számokat tudsz megfeleltetni bitsorozatoknak, ha 8 bitről van szó. Az probléma – vagy nem az, nézőpont kérdése –, hogy a nullának két bitsorozat is meg van feleltetve, tehát ez nem egy bijektív leképezés, pl. egy 0 és egy -0 összehasonlítását ha bitenkénti összehasonlítással végzed el, azt fogod kapni, hogy a kettő nem egyenlő. A műveletvégzés is macerásabb.


~ ~ ~


Az is megoldás persze, amire utaltál, hogy ugyanúgy az első bit adja az előjelet, csak éppen a további 7 bitnél a szám negált vesszük:

0 000 0000₂ → 0

0 000 0001₂ → 1

0 000 0010₂ → 2

0 011 0010₂ → 50

1 000 0000₂ → -0 111 1111₂ → -127

1 000 0001₂ → -0 111 1110₂ → -126

1 000 0010₂ → -0 111 1101₂ → -125

1 011 0010₂ → -0 011 0010₂ → -77

1 111 1111₂ → -0 000 0000₂ → -0


Csak így megmaradt ugyanaz a probléma, a nullának két bitsorozat is meg lett feleltetve, a 0 000 0000 és az 1 111 1111 is.


~ ~ ~


Az informatikában a kettes komplemenst használják, a negatív szám a szám abszolút értékének kettes komplemense, amit úgy kapunk, hogy negáljuk a biteket, majd az egészhez hozzáadunk egyet. Így 8 biten -128 és 127 között tudunk számokat ábrázolni, ráadásul a műveletvégzés pontosan úgy történik, mint nemnegatív számok esetén.


~ ~ ~


Szintén adódik még egy megoldás, amit feszített előjeles ábrázolásnak hívnak. Kvázi olyan, mintha a számhoz hozzáadnánk egy konstanst, és az így kapott számnak feleltetnék meg az eredeti számot. Pl. 8 bit esetén adjunk hozzá 128 -at minden ábrázolni kívánt számhoz.

0 000 0000₂ → 0-128 = -128

0 000 0001₂ → 1-128 = -127

0 000 0010₂ → 2-128 = -126

(Értsd: a -126-hoz hozzáadunk 128-at, így 2-t kapunk, és ennek a 2-nek a kettes számrendszerbeli alakját feleltetjük meg a -126-nak.)

0 011 0010₂ → 50-128 = -78

1 000 0000₂ → 128-128 = 0

1 000 0001₂ → 129-128 = 1

1 000 0010₂ → 130-128 → 2

1 011 0010₂ → 178-128 = 50

1 111 1111₂ → 255-128 → 127


~ ~ ~


De úgy feleltetsz meg bitsorozatoknak számokat – vagy más halmazt –, ahogy neked tetszik, és tekinthetsz ebben a megfeleltetésben bármilyen részhalmazt bármilyen megfeleltetési módszernek.



A válasz 67%-ban hasznosnak tűnik. A válaszíró 86%-ban hasznos válaszokat ad.
# 5/23Időpont júl. 12. 10:07 Privát üzenet
Hasznos számodra ez a válasz?
anonymousreview60 nevű felhasználó válasza:

Kérdező: Mitől izomorfak a negatív számok a [bitenkénti? (ezt nem írtad)] negáltakhoz képest?

A válasz 47%-ban hasznosnak tűnik. A válaszíró 76%-ban hasznos válaszokat ad.
# 6/23Időpont júl. 12. 10:33 Privát üzenet
Hasznos számodra ez a válasz?

Szerintem nem teljesen érted a negatív számokat meg a "negálást". A két művelet csak nagyon messziről hasonló. De jobban megnézve nem teljesen azonosak. Ha megnézzük, hogy a "negálás" művelet miből ered akkor egyből látszik a különbség. Mindkét fogalom halmazelméletből vezethető le. Először nézzük a "negálást". A negálás az "ellentett képzés", ez gyakorlatilag egy komplementer halmaz előállítása. Azaz van egy "M" halmazunk ami a "mindent" jelent, és ezen belül van egy "A" halmazunk. Ha ezt megnézzük akkor az A komplementer halmaza lesz "gyakorlatilag" A negáltja. (Ugyanígy a két halmaz metszete lesz az "A és B" illetve a két halmaz uniója lesz "A vagy B" és így tovább ez szépen levezethető, hogy a kettő gyakorlatilag ugyanaz). Gyakorlatilag a negálás egy komplementer képzés ami azt jelenti, hogy ha A+/A=M (/A-val jelölöm A negaltat), itt A+/A=1 "értelemben" (pontos részletes levezetést itt most kihagynám). De halmazelméleti megfontolások alapján (pl. a halmazok elem számait tekintve mindkettő "pozítiv" ezt most kicsit elnagyoltam, előre is köszi a lepontozást...).


A negatív szám egészen másképpen jön létre. A negatív számok úgy "jönnek létre", hogy elindulunk a természetes számokon (vissza kanyarodva természetes számok egy halmaz elemeinek számosságának leírására megfelelőek). Majd definiáltuk az összeadás műveletet (itt még megvan a pontos halmazelméleti megfeleltetés, hiszen két természetes szám összege két adott elemszámú halmaz úniójának elemszáma). Defináljuk a kivonás műveletet (itt még egy ideig tudunk operálni a halmazokkal és komplementer halmazokkal), de egy idő után az általánosításnál eljutunk oda, hogy ha X-Y írunk és Y>X akkor kapunk egy nem természetes számot (és nem tudunk ilyen halmazt létrehozni, mert nincs negatív elemszámú halmazunk). Ahhoz, hogy ez a művelet korlátozás nélkül elvégezhető legyen be kell vezessük a negatív számokat. És ezen a ponton már el kell szakadni az eredeti halmazelméleti modelltől, mert negatív elamszámú halmazt nem tudunk létrehozni. Ebből már látszik, hogy a negatív számok nem egy komplementer halmaz elemszámát adják meg mint a negálás műveletnél.


Az, hogy ma "kényelmi" okok miatt a negatív számokat kettes komplemens formában tároljuk és "látszólag" bitenkénti negálással állítjuk elő (bitenki negálás + 1) az egy ábrázolási kényelem. Sokan sajnos pont itt tévednek el amikor elkezdik tanulni az informatikát és elkezdik összekeverni a fogalmakat. Az, hogy a számokat hogyan ábrázoljuk a számítógépen teljesen rajtunk múlik. Nem véletlenül van kb. 1,5 tucat elterjedten használt kódolási rendszer. Ebből kettőt szinte mindenki ismer az egyik az 1-2-4-8 súlyozású bináris kód, a másik a BCD kód. De még mindig használjuk az ún. Grey kódot (ha másthol nem a Karnough táblánál találkozik vele az ember). De pl. a régi telefonközpontok esetén gyakori volt 1-2-4-6 vagy az 1-2-4-5 kód használata is (itt is mint a BCD-ben vannak tiltott kombinációk), mindkét kód esetén a >5 és a >6 egyszerűen meghatározható volt (és ez iránykiválasztásnál egyszerűsített). De számtalan egyéb kódrendszer is létezik és létezett (pl. ma is sokszor használunk főleg beágyazott rendszereknél olyat, hogy egy számot úgy kódolunk, hogy hány darab 1-es értékű bit van egymás után pl. 0000=0 1000=1 1100=2 1110=3 1111=4). Más kérdés, hogy ezekkel hogyan tudunk jól számolni, vagy kevésbé jól. De egy csomó helyen megvan ezeknek is a létjogosultsága. Ezért kell nagyon határozottan elkülőníteni a "szám" "érték" "számrendszer" és "számábrázolás" fogalmakat.



A válasz 63%-ban hasznosnak tűnik. A válaszíró 79%-ban hasznos válaszokat ad.
# 7/23Időpont júl. 12. 10:35 Privát üzenet
Hasznos számodra ez a válasz?

[link]


Egy pozitív szám kockás papíron pl 3 rublikába fér el, a negatívhoz már 4 rublika kell.


Programozásban is előre meg kell határozni mit értünk egy bineáris változón: pl

0-255 vagy -127...+127 stb


Van egyfajta eltérés a 'matematikusi' és az 'informatikusi' szám értelmezés közt is. Ez utóbbi a leírt szám belső tulajdonságának értelmezi azt hogy a szám negatív, a matematikus pedig nem.Emiatt borul a műveleti sorrend és sok PC-s számológép hibásan számol:

[link]



A válasz 0%-ban hasznosnak tűnik. A válaszíró 58%-ban hasznos válaszokat ad.
# 8/23Időpont júl. 12. 10:58 Privát üzenet
Hasznos számodra ez a válasz?
anonymousreview60 nevű felhasználó válasza:

"Van egyfajta eltérés a 'matematikusi' és az 'informatikusi' szám értelmezés közt is. Ez utóbbi a leírt szám belső tulajdonságának értelmezi azt hogy a szám negatív, a matematikus pedig nem.Emiatt borul a műveleti sorrend és sok PC-s számológép hibásan számol:" A felhozott példa nem jó szerintem, ott csak egyszerűen rosszul programozták be az operátorok precedenciáját.

A válaszíró 76%-ban hasznos válaszokat ad.
# 9/23Időpont júl. 12. 11:25 Privát üzenet
Hasznos számodra ez a válasz?

#10: "ott csak egyszerűen rosszul programozták be az operátorok precedenciáját"


Na jó de win95 óta MINDEN windownál..?


De próbáld megkérdezni az embereket ahol sok informatikus gyűlik össze (pl HUP-on). A kérdést se fogják megérteni. A sor elejére írt -5^2 re azt fogják hinni hogy 25 hiszen minusszor minusz az plusz, közben vajójában ezt kéne érteniük alatta matematikusi szemlélettel: 0-5^32=-25



A válasz 0%-ban hasznosnak tűnik. A válaszíró 58%-ban hasznos válaszokat ad.
# 10/23Időpont júl. 12. 11:50 Privát üzenet
Hasznos számodra ez a válasz?
1 2 3

Értesítsünk róla, ha új válasz érkezik? Válasz küldése



Kapcsolódó kérdések
A 0 negatív vércsoport milyen származásra utal?
Elképzelhető olyan koordináta-rendszer, amiben a negatív számok külön tengelyen vannak?
Mi a véleményetek a negatív hőmérsékletről?
Negatív ionokat kibocsátó (természetes) tárgyak? Ionizátor?
Szeretném kiintegrálni a következő komplex függvényt negatív végtelentől pozitív végtelenig x szerint: e^ (-iax) *sin (bx) ahol a, b konstansok ?
A +/- forgás iránya miért nem használható (elfogadott) balra/jobbra forgásnak/forgatásnak?

Kérdések a Tudományok rovatbólKérdések az Egyéb kérdések rovatból








Minden jog fenntartva © 2019, www.gyakorikerdesek.hu | GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | WebMinute Kft. | Kapcsolat: info (kukac) gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!