Mar. 25th, 2017

dlinyj: (Default)
Простейшая, простейшая задачка на сях - сделать бегущий бит в байте. Циклически бегущий бит. Этакий огонёк. Пишу такой примитивнейший код:
char rol(char a)
{
	return (a << 1) | (a >> 7);
}


И потом в цикле его вызываю:

	char port = 0x01;
	while (1) {
...
		printf("%2X\n", (int)port);
	}


И получаю странный результат:
 2
 4
 8
10
20
40
FFFFFF80
FFFFFFFF
FFFFFFFF
...


Куда подевался битик? Я НЕ понимаю!

January 2026

S M T W T F S
    123
456 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 09:43 am
Powered by Dreamwidth Studios