В последнее время я пытался научиться C#, но мне сложно что-то понять. Каждый интегральный тип имеет размер (подписанный 8-битный, без знака 8 бит, 16-битный, без знака 16 бит и т. Д.). Мне сложно понять, что такое размеры, и как они получают этот размер. Что означает 8bit, 16bit, 32bit и т. Д.? И подписан и без знака. Я не понимаю их. Если кто-нибудь может сослаться на ссылку с пояснениями на биты, подписанные и неподписанные, или даже объяснить это мне, это было бы здорово. thanksC# - размеры шрифта
ответ
Все типы сохраняются как биты на вашем компьютере.
Если вы открываете Калькулятор и помещаете его в режим программирования (Alt + 3), вы можете видеть, как числа (целые числа, в любом случае) представлены как биты.
Как вы можете видеть на картинке выше, 255 занимает бит 0 7 (восемь 1-х подряд). 255 - это наивысшее число, которое вы можете представить в 8-битном целочисленном Unsigned. Если вы добавите 1 до 255 по 8-битовому типу, вы получите ошибку переполнения, потому что 256 не вписывается в 8 бит. На языках более низкого уровня, без ошибок переполнения, 255 + 1 равно 0, так как значения переваливаются за.
Подписанные значения используют один бит для представления знака (положительного или отрицательного). Таким образом, подписанное 8 битное число может перейти от -128 до 127.
+------+-----+----------------------+----------------------+---------------------+
| | unsigned | signed |
+------+-----+----------------------+----------------------+---------------------+
| bits | min | max | min | max |
+------+-----+----------------------+----------------------+---------------------+
| 8 | 0 | 255 | -128 | 127 |
| 16 | 0 | 65535 | -32768 | 32767 |
| 32 | 0 | 4294967295 | -2147483248 | 2147483647 |
| 64 | 0 | 18446744073709551615 | -9223372036854775808 | 9223372036854775807 |
+------+-----+----------------------+----------------------+---------------------+
Числа с плавающей точкой, как поплавки и дважды сохраняются другим способом, который не так легко объяснить: https://en.wikipedia.org/wiki/Floating_point#Internal_representation
В основном , с целыми числами больше бит означают большие числа, а с плавающей точкой больше бит может означать большие числа и/или более точность (десятичные разряды).
Также стоит отметить, что подписан знак int
, а uint
- без знака. Все номера с плавающей запятой составляют , подписанный, из-за их specification.
Полезные ссылки (с комментариями и т.д.):
- Википедия Бит: https://en.wikipedia.org/wiki/Bit
- Википедия Integer: https://en.wikipedia.org/wiki/Integer_(computer_science)
- C# Интегральные типы данных: https://msdn.microsoft.com/en-us/library/exx3b86w.aspx
- C# Плавающие Типы данных Точка: https://msdn.microsoft.com/en-us/library/9ahet949.aspx
- Программирование магических чисел: https://msdn.microsoft.com/en-us/library/ee621251.aspx
- плавающей запятой Стандарт: http://steve.hollasch.net/cgindex/coding/ieeefloat.html
Размер определяет, сколько бит используется в хранилище типа.
Е.Г. 8bit INT: 00000001 == 1
Если тип подписан, то первый бит типа определяет, является ли это положительное или отрицательное значение
например 11111111 == -1 (с использованием . что называется двоичное дополнение Более подробно в ссылке)
быстрая изношенном подписанных типов можно найти здесь: http://kias.dyndns.org/comath/13.html
- 1. Размеры шрифта для отзывчивого дизайна
- 2. sIFR: Различные размеры шрифта, полученные
- 3. iOS 9 Адаптируемые размеры шрифта?
- 4. Различные размеры шрифта и ориентации в TextBox в WPF (C#)
- 5. Несколько кнопок Tkinter - разные размеры шрифта
- 6. R - разные размеры шрифта при использовании atop
- 7. Изменить все размеры шрифта в Eclipse
- 8. Размеры шрифта в элементах управления Telerik
- 9. Имея разные размеры шрифта в предложении
- 10. Некоторые размеры шрифта больше на Safari (iPhone)
- 11. Различные размеры шрифта в боковой панели
- 12. r ggplot2: различные размеры шрифта в легенде
- 13. Различные размеры шрифта в одном поле
- 14. Размер шрифта в браузерах - Разные размеры
- 15. шрифта Высокие иконок в CSS - Большие размеры
- 16. Какие размеры действительны для шрифтов истинного шрифта?
- 17. Как использовать разные размеры шрифта в этикетках обертки графа ggplot?
- 18. объект C++ размеры
- 19. Размеры матрицы в C
- 20. C размеры Struct несогласованности
- 21. размеры массивов в C
- 22. C++ уменьшает размеры матрицы
- 23. jquery - настроить все размеры шрифта там, где они объявлены?
- 24. Javascript WYSIWYG Редактор и размеры шрифта, и я в тупике
- 25. Iphone Sdk: UIPickerView, можно присвоить разные размеры шрифта различным компонентам?
- 26. Pharo Smalltalk настраивает размеры шрифта, стили и фоны
- 27. Динамически изменить размер шрифта текстового поля ввода, чтобы заполнить размеры
- 28. Противоречивые размеры шрифта кросс-браузер и с рх и эм
- 29. Установите различные размеры шрифта для разных строк в текстовом поле
- 30. Как установить разные размеры шрифта в одном заголовке html?
https://en.wikipedia.org/wiki/Bit и https://en.wikipedia.org/wiki/Integer_(computer_science) будет хорошим началом. –
https://msdn.microsoft.com/en-us/library/exx3b86w.aspx – Martheen
Беззнаковое число может быть положительным, подпись может быть положительной/отрицательной. 8-битное число означает, что его число может представлять 2^8 различных значений. Подписанное 8-битное целое число может содержать значение от -128 до +127, без знака 8-битных целых значений ca hold от 0 до 255. –