Shl, Shr, Sar
что делают ети команды ??
насколько мне известно это что то типа для работы с битами (сдвигов в ЛЕВО/ПРАВО) !! я точно незнаю !! обясните плиз как ними пользоватся !! PS: help читал... ...плохо !! |
Re: Shl, Shr, Sar
temp shr n - сдвиг битов вправо, то же самое что temp / (2^n)
temp shl n - сдвиг битов влево, то же самое что temp * (2^n) применяется только к целым положительным числам. например: есть ширина экрана 640 высота 480 scrwidth = 640 scrheight = 480 тогда центр экрана halfwidth = scrwidth shr 1 ; scrwidth / (2^1) halfheight = scrheight shr 1 ; scrheight / (2^1) |
Re: Shl, Shr, Sar
x=123
DebugLog(Bin(x)) DebugLog(Bin(x Shl 1)) DebugLog(Bin(x Shr 1)) |
Re: Shl, Shr, Sar
ага shr - умножаем , shl - делим !!
а что означает: value = temp shl 2 And $FFFFFF Цитата:
|
Re: Shl, Shr, Sar
Импер имел ввиду вот что: двоичное представление x это bin(x), посмотри, int это 4 байта или 32 бита. shr & shl & and & or & xor - это операции над битами! И поэтому инт-ы лучше созерцать в таком виде, чтобы понять что делают эти команды.
|
Re: Shl, Shr, Sar
Shl - двигает число в лево.Это более быстрый метод умножения числа экспоненциально.
Shr - наоборот.двигает число в право.Это быстрый метод деления. Sar - производит двоичный сдвиг в право.Отличается от Shl тем что заполняет пустые биты.Полезность этой команды заключается в более быстром математическом выполнении расчетов. |
Re: Shl, Shr, Sar
Цитата:
IGR http://ru.wikipedia.org/wiki/%D0%91%...86%D0%B8%D0%B8 |
Re: Shl, Shr, Sar
alcoSHoLiK, я в курсе что "любые числа в комьютере представлены последовательностью битов". А отрицательные числа в обратном коде, где старший разряд определяет знак, значит сдвигать нельзя. То есть можно, но результат будет неправильным.
|
Re: Shl, Shr, Sar
В дополнительном.
Сдвигать можно и даже нужно. Выше было сказано про Sar, она как раз и сохраняет знаковый бит на его месте. |
Re: Shl, Shr, Sar
Цитата:
ЗЫ, может и дополнительный называется, давно уж отучился и забыл все названия :) Вообще советую всем ознакомиться со ссылкой alcoSHoLiK-а. |
Re: Shl, Shr, Sar
ну с битовыми о-циями я знаком (с уч. курса) !!
а как насчет: Цитата:
|
Re: Shl, Shr, Sar
Первая половина твоего сообщения противоречит второй.
|
Re: Shl, Shr, Sar
Цитата:
value = temp shl 2 And $FFFFFF аналогично: value = temp*4 + 16777215 !! Да/Нет ?? |
Re: Shl, Shr, Sar
Нет.
Цитата:
Код:
temp = 880 Код:
max = $FF Код:
x = 30 |
Re: Shl, Shr, Sar
спс !!
врод понял !! value = 452 это 111000100 $fff это 111111111111 000111000100 111111111111 -------------- 000111000100 - результат !! Да/Нет ?? |
Часовой пояс GMT +4, время: 08:30. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot