A ono se to chová nějak divně...
Zdrojový kód
Napřed poněkud osekaný zdrojový kód, ať si můžete zapřemýšlet a nematou vás opičinky stran toho encodingu.using System;
namespace InfiniteLoop
{
class Program
{
static void Main()
{
for (byte i = 0; i <= 255; i++)
Console.WriteLine(i);
}
}
}
Otázky pro vás
- Co bude zobrazeno na konzoli?
- Proč?
- Proč o tom píši?
Odpověď 1
Budou zobrazována postupně čísla 0 až 255. A to až do konce světa, počítače nebo vaší trpělivosti. Podle toho, co přijde dřív.Odpověď 2
Zakopaný pes je v třetím kroku vykonávání instrukcí:- ověření (podmínka i<=255)
- příkaz/y uvnitř cyklu (výpis na konzoli)
- inkrementace iterátoru (i++)
Odpověď 3
Protože je milé být, i po tolika letech praxe, překvapen takovou rafinovanou chybičkou. A proč se o tu radost nepodělit, že...Poučení
Pokud počítáme v oboru 8 bitových bytů (oktetů), tak platí:
255 + 1 = 0
A pak že na světě není krásně ;-)
Což dožere u bankovních operací, spoříme, spoříme a nic z toho. Ještě že funguje i podtečení:
0 - 1 = 255
Další informace
Bajt (wikipedia)Kód Kamenických (wikipedia)
Žádné komentáře:
Okomentovat