Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 14.07.2012, 16:58
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от 9xakep
Что значит b, в конце каждого числа?
оно просто говорит о том что работаем с двоичным числом.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #12 (permalink)  
Старый 14.07.2012, 17:01
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от 9xakep
Спасибо, но я мало что понял).
задавай вопросы

Сообщение от 9xakep
Только у меня последний вопрос, скорее из части информатики:
Почему -1, это 1111, а не 1001 (если 4 бита)?
Ну это же договоренность такая, неудобно так. В случае дополнительного кода положительные и отрицательные числа складываются одинаково. Если же взять твою альтернативную схему, несмотря на ее логичность что ли или прямолинейность: 1) положительные и отрицательные числа складываются по-разному, 2) с переполнением сложнее: в случае дополнительного кода просто отбрасываются или заимствуются дополнительные разряды (как при сложении/вычитании в столбик), а здесь как?
Код:
0111b (7)
+
0001b (1)
---------
1111b (-7)
либо если не переполнение, то что?
Ответить с цитированием
  #13 (permalink)  
Старый 14.07.2012, 17:08
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

а, я даже понял ответ на твой изначальный вопрос
Сообщение от 9xakep
почему же тогда ~ работает как: -(х+1) ??
т.е. почему ~a = -1 - a: -1 = 1111b в дополнительном коде; другими словами, надо доказать, что ~a + a = 1111b. Операция NOT меняет нули на единицы и единицы на нули. И если сложить два числа у которых напротив единицы - ноль и наоборот, получится число состоящее только из единиц.
Ответить с цитированием
  #14 (permalink)  
Старый 14.07.2012, 17:35
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Сообщение от x-yuri
задавай вопросы
ок, щас)
__________________
оляля, ололо

Последний раз редактировалось 9xakep, 14.07.2012 в 17:39.
Ответить с цитированием
  #15 (permalink)  
Старый 14.07.2012, 17:39
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

Сообщение от x-yuri
И если сложить два числа у которых напротив единицы - ноль и наоборот, получится число состоящее только из единиц.
Ага...
~0 = -1 + 0,
~0000 = -1 + 0
~0000 = -1
1111 = -1.
Все теперь понял)
===============
0000 = 0 <==> 
0001 = 1 <--> 1111 = -1
0010 = 2 <--> 1110 = -2
0011 = 3 <--> 1101 = -3
0100 = 4 <--> 1100 = -4
0101 = 5 <--> 1011 = -5
0110 = 6 <--> 1010 = -6
0111 = 7 <--> 1001 = -7
P.S. короче: нужно запомнить, что 1111 = -1, 1110 = -2
с числами -3, -4 есть логика (заменяем первый бит операнда)
После уже просто инверитурем предыдущее число в левом ряду, например:
-6 = ~5
-6 = ~0101
-6 = 1010

Цитата:
0111b (7)
+
0001b (1)
---------
1111b (-7)
?
0111b (7)
+
0001b (1)
--------
1000 (8)
__________________
оляля, ололо

Последний раз редактировалось 9xakep, 14.07.2012 в 18:17.
Ответить с цитированием
  #16 (permalink)  
Старый 14.07.2012, 17:45
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

ну если выбрать не такой крайний случай, то получится
Код:
~0101 + 0101 = 1111
1010
+
0101
----
1111
Ответить с цитированием
  #17 (permalink)  
Старый 14.07.2012, 18:21
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от 9xakep
P.S. короче: нужно запомнить, что 1111 = -1, 1110 = -2
это в том случае если числа со знаком, если же числа бес знаковые, то и числа будут иные. 1111 = 15, 1110 = 14
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #18 (permalink)  
Старый 14.07.2012, 18:25
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

devote,
ну у меня 4 бит, это понятно, щас читаю, что написал x-yuri, как и сказал, задам вопросы)
__________________
оляля, ололо
Ответить с цитированием
  #19 (permalink)  
Старый 14.07.2012, 19:19
Аватар для 9xakep
сегодня в 12:34|Комментир
Отправить личное сообщение для 9xakep Посмотреть профиль Найти все сообщения от 9xakep
 
Регистрация: 12.04.2011
Сообщений: 1,180

x-yuri,
чувак, супер, нет вопросов, все понял
__________________
оляля, ололо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск