Не попадая в два дополнения: 2 ^ 8 (так как байт имеет 8 цифр и может иметь 1 из 2 значений) = 256, поэтому самые индивидуальные значения, которые может представлять байт, составляют 256. Таким образом, представляя числа от -128 до -1 - половина нашего диапазона. Я считаю, что здесь вопрос заключается в том, почему максимальное положительное значение 127, а не 128. Это потому, что мы должны представлять число 0, поэтому включительно 0-127 - это другие 128 возможностей нашего диапазона.
Если мы допустили только положительные значения, такие как беззнаковый байт, где отрицательные числа невозможен, диапазон будет 0-255, так как это 256 различных значений (включая 0).
Посмотрите на
-121--3595032-Переменные общего объекта (то есть переменные, объявленные как Object) может содержать объекты из любого класса. При использовании переменных типа Object возможно, потребуется выполнить различные действия в зависимости от класса объект; например, некоторые объекты могут не поддерживать конкретный свойство или метод. Visual Basic предоставляет два средства определения какой тип объекта хранится в переменной объекта: TypeName и оператор TypeOf... Is.
TypeName и TypeOf... Is
Функция TypeName возвращает последовательность и является наилучшим выбором при необходимо сохранить или отобразить имя класса объекта, как показано в следующий фрагмент кода:Dim Ctrl As Control = New TextBox MsgBox (имя типа (Ctrl))
TypeOf... Является ли оператор лучшим выбором для тестирования объекта тип, потому что он намного быстрее, чем эквивалентное сравнение последовательностей с использованием TypeName. Следующий фрагмент кода использует TypeOf... Находится в пределах If... Then... Else оператор:
If TypeOf Ctrl Is Button Then MsgBox («Элемент управления - кнопка»). Конец, если
Я думаю, что он был выбран потому, что он прост в реализации, не нуждается в дополнительных ключевых словах и пользователям не нужно понимать его, чтобы иметь возможность использовать язык. Это также более мощное и гибкое наследование, чем наследование на основе класса.
Это естественный выбор для нетипизированного языка. Основные преимущества наследования на основе класса заключаются в том, что оно позволяет выполнять статическую типизацию и, таким образом, проверку типа и ускоряет реализацию поиска на основе таблицы.
-121--1881316-Если один из дизайнеров JavaScript не остановится, чтобы взвесить, мы можем только спекулировать. Вот мое предположение:
JavaScript выполняется так, как он интерпретируется, поэтому нет понятия отделения объявления типа объекта от самого объекта. Это очень функциональный подход. Экземпляр появляется по мере его описания - мы всегда работаем с активными экземплярами. Из-за этого понятие класса - или пассивный «шаблон экземпляра» - не имеет реального места.
, потому что он сильно влиял себя. И Википедия, так и ЭКМА-спецификация упоминают это.
Прототипное наследование (с закрытиями) позволяет другим делать то, что никогда не представляли. Это сетка нескольких парадигм, которые собрались вместе, чтобы достичь программирования общего назначения.
с языком прототипа вы можете иметь «смешивание» для ваших классов. Вы можете достичь уровня инкапсуляции, которую вы хотите, без языковых ключевых слов. Короче говоря, прототип языки потрясающие.
Я ненавижу это сказать, но JavaScript, плюс некоторые библиотеки, можете сделать все, чтобы все, чтобы она мне нужна. Он был подрывным в его развитии (должен быть подчинен к Java). У него много сил, в простейших реализациях.
При достаточном изучении / игре, вы начнете видеть преимущества этого вдохновения. JavaScript - один из немногих языков, которые «скрыты», это потенциал намеренно. Вы должны попасть в политику, если вы хотите знать «почему». Но это по этой причине, что это круто.
< br/>
и < br/>
являются правильными. Причина, по которой < br/>
появился в первую очередь, заключалась в поддержке старых браузеров, которые не понимают новый синтаксис < br/>
. Это действительно своего рода взлом, где /
интерпретируется как атрибут без значения и игнорируется.
Посмотрите на
-121--3595032-Переменные общего объекта (то есть переменные, объявленные как Object) может содержать объекты из любого класса. При использовании переменных типа Object возможно, потребуется выполнить различные действия в зависимости от класса объект; например, некоторые объекты могут не поддерживать конкретный свойство или метод. Visual Basic предоставляет два средства определения какой тип объекта хранится в переменной объекта: TypeName и оператор TypeOf... Is.
TypeName и TypeOf... Is
Функция TypeName возвращает последовательность и является наилучшим выбором при необходимо сохранить или отобразить имя класса объекта, как показано в следующий фрагмент кода:Dim Ctrl As Control = New TextBox MsgBox (имя типа (Ctrl))
TypeOf... Является ли оператор лучшим выбором для тестирования объекта тип, потому что он намного быстрее, чем эквивалентное сравнение последовательностей с использованием TypeName. Следующий фрагмент кода использует TypeOf... Находится в пределах If... Then... Else оператор:
If TypeOf Ctrl Is Button Then MsgBox («Элемент управления - кнопка»). Конец, если
Я думаю, что он был выбран потому, что он прост в реализации, не нуждается в дополнительных ключевых словах и пользователям не нужно понимать его, чтобы иметь возможность использовать язык. Это также более мощное и гибкое наследование, чем наследование на основе класса.
Это естественный выбор для нетипизированного языка. Основные преимущества наследования на основе класса заключаются в том, что оно позволяет выполнять статическую типизацию и, таким образом, проверку типа и ускоряет реализацию поиска на основе таблицы.
JavaScript изначально предполагалось, что очень похоже на Lisp. Даже после того, как синтаксис был изменен, чтобы более тесно напоминать C / Java, он все еще Lisp в одежде C . Я думаю, что ответ заключается в его функциональном программировании. В чистом FP нет мусорного состояния, что означает отсутствие мусорных объектов. Если вы немного расслабитесь правила и получите слегка творческий, вы окажетесь с чем-то вроде наследования Protypal, то есть вы можете продлить объекты, но не модифицировать исходный объект. Он обеспечивает одинаковую мощность, что и наследство и до сих пор дает вам некоторую неизменность.
Наконец, поверните язык вокруг, чтобы он выглядел как C ++ и Java, а альт, у вас есть новый ()
, а остальные - это история.
Вот что говорит Брендан Эйх о том, что произошло: http://weblogs.mozillazine.org/roadmap/archives/2008/04/popularity.html
Как я часто говорил, и как могут подтвердить другие сотрудники Netscape, я был принят на работу в Netscape с обещанием "сделать схему" в браузере. По крайней мере, руководство компании, включая Тома Пакина, Майкла Тоя и Рика Шелла, вместе с каким-то парнем по имени Марк Андреессен, были убеждены, что Netscape должна встроить язык программирования в HTML в виде исходного текста.
Диктат высшего инженерного руководства заключался в том, что язык должен быть "похож на Java". Это исключало Perl, Python и Tcl, а также Scheme.
Я не горжусь, но я счастлив, что выбрал Scheme-ish first-class functions и Self-ish (хотя и единичные) прототипы в качестве основных ингредиентов. Влияние Java, особенно ошибки y2k Date, а также различие между примитивами и объектами (например, string vs. String), было неудачным.