Пт. Апр 5th, 2024

Прибавление или вычитание произвольного числа n соответствует n единичным шагам вдоль кольца от исходного числа в нужном направлении.

Так, в 8-разрядном беззнаковом типе:

254 + 4 = 2,
200 — 255 = 201,

а в 16-разрядном знаковом типе:

32760 + 10 = -32766,
-32760 — 10 = 32766.

Это можно проверить, выполняя действия сложения в двоичной k-разрядной арифметике.

Вычитание можно заменить на сложение с отрицательным числом, представляя последнее как дополнение его модуля до 2k вне зависимости от наличия знакового бита у типа (у беззнаковых типов дополнительный код для отрицательных чисел, по модулю превосходящих 2k-1, будет иметь 0 в самом левом бите, что для знаковых типов недопустимо). Так, в 8-разрядном беззнаковом типе для приведенных примеров мы получим следующее:

256
11111110
+ 4
+ 00000100
= 254 + 4
= 1100000010
Результат:
00000010 = 2

От content

Ads Blocker Image Powered by Code Help Pro

Обнаружен блокировщик рекламы! Пожалуйста, обратите внимание на эту информацию.

We\'ve detected that you are using AdBlock or some other adblocking software which is preventing the page from fully loading.

У нас нет баннеров, флэшей, анимации, отвратительных звуков или всплывающих объявлений. Мы не реализовываем эти типы надоедливых объявлений! Нам нужны деньги для обслуживания сайта, и почти все они приходят от нашей интернет-рекламы.

Пожалуйста, добавьте tehnar.info к вашему белому списку блокирования объявлений или отключите программное обеспечение, блокирующее рекламу.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock