binär med och grind
"utför följande operationer"
det är alltså en 9 bitars lång sträng som ska "and:as" med en 8 bitars lång sträng
min fråga är varför blir inte talet bara 0:or?
vad händer med 1:an längst till vänster i de binära talet som är 9 bitar lång?
svaret är 1000 0000 vilket jag inte alls förstår borde det inte vara 0 000 0000
Är du säker på det ursprungliga talen? Jag tycker nämligen att du gör rätt. Man måste ju fylla ut 8 bitars talet till 9 bitar men detta gör man med en nolla längst till vänster vilket ger ditt resultat, inte det du säger skulle vara svaret(enligt facit antar jag)
Däremot får man facitsvaret om man fyller på en nolla till höger. Finns det något som antyder att man ska göra så?
Absolut, så blir det. Grundproblemet är att han skall göra AND mellan två tal av olika längd, vilket man inte brukar göra. Om nu dessa är tal måste man ju fylla på med nolla längst till vänster om man inte skall förändra värdet.
Har du verkligen skrivit av uppgiften korrekt?
Eventuellt kan man resonera som att AND visar vilka bitpar en ström kan passera. Där minst en bit är 0 är passagen avstängd. Eftersom nionde biten saknas i ena talet bryter den inte och då blir resultatet 1.
Då kan man även föra resonemanget eftersom det är en bitvis And vi sysslar med att vi har i 9:e biten en AND-grind med en obestämd (öppen) ingång. Detta ger ett obestämt svar då utgångens värde blir beroende på tolkningen av den öppna ingångens värde, vilket i realiteten är beroende av hur grinden är tillverkad, eller så börjar det att självsvänga.
AndersW skrev :Då kan man även föra resonemanget eftersom det är en bitvis And vi sysslar med att vi har i 9:e biten en AND-grind med en obestämd (öppen) ingång. Detta ger ett obestämt svar då utgångens värde blir beroende på tolkningen av den öppna ingångens värde, vilket i realiteten är beroende av hur grinden är tillverkad, eller så börjar det att självsvänga.
I så fall är antingen uppgiften eller svaret felformulerat.
Japp, man brukar inte ägna sig åt bitvis AND på tal med olika stora bitar. Så om det finns någon anledning att göra som i uppgiften är detta ett specialfall. Addition av tal med olika många bitar är något helt annat och görs genom att fylla ut med nollor till vänster i talet med minst bitar.
AndersW skrev :Japp, man brukar inte ägna sig åt bitvis AND på tal med olika stora bitar.
Nja, bitarna är nog lika stora. Men de är inte lika många ;-)
Jag skulle kunna komma med en lång utläggning om storleken på bitar men det visar att man kanske skall läsa igenom det man skriver. Om vi säger olika många bitar kanske det blir rätt.
Å andra sidan tror jag att den ursprungliga frågeställaren börjar tycka att vi har spårat ut en aning. :)
:-D
Den ursprungliga frågeställaren har inte synts till alls i denna tråd efter ursprungsfrågan och har inte heller varit inloggad på 18 timmar.
uppgiften är korrekt skriven. svaret kan jag inte säga om det är korrekt skrivet i facit. men det är ju intressant att nästa fråga i boken är liknade fast med XOR
samma problem uppstår då ena strängen är nio och den andra är åtta
Om strömbrytaranalogin ovan är riktig skulle svaret nu bli 111101111.
Och jag vidhåller att när man skall göra logiska operationer på binära ord måste de vara lika många bitar. Det är också konstigt om man fyller på nolla (eller nollor) till höger. Så jag skulle säga: Fyll på med en nolla till vänster och utför sedan operationen.
Jag håller med AndersW här. Fel i facit alltså.
Välkommen tillbaka testin! Vad är det för bok du hämtat uppgiften från?