Отличие int от int: В чем разница между Integer и int в Java?

Содержание

В чем разница между Integer и int в Java?

intэто примитивный тип. Переменные типа intхранят фактическое двоичное значение для целого числа, которое вы хотите представить. int.parseInt("1")не имеет смысла , потому что intэто не класс и , следовательно , не имеет каких — либо методов.

Integerэто класс, не отличающийся от любого другого языка Java. Переменные типа Integerхранят ссылки на Integerобъекты, как и любой другой ссылочный (объектный) тип. Integer.parseInt("1")это вызов статического метода parseIntиз класса Integer(обратите внимание, что этот метод на самом деле возвращает intа неInteger ).

Чтобы быть более конкретным, Integerэто класс с одним полем типа int. Этот класс используется там, где вам нужно, чтобы intк нему относились, как к любому другому объекту, например, в универсальных типах или в ситуациях, когда вам нужна обнуляемость.

Обратите внимание, что каждый примитивный тип в Java имеет эквивалентный класс- оболочку :

  • byte имеет Byte
  • short имеет Short
  • int имеет Integer
  • long имеет Long
  • boolean имеет Boolean
  • char имеет Character
  • float имеет Float
  • double имеет Double

Классы обертки наследуются от класса Object, а примитивы — нет. Таким образом, он может быть использован в коллекциях со ссылкой на объект или с помощью Generics.

Начиная с Java 5 у нас есть автобокс, и преобразование между примитивом и классом-оберткой выполняется автоматически. Однако будьте осторожны, так как это может привести к незначительным ошибкам и проблемам с производительностью; Быть откровенным о преобразованиях никогда не повредит.

В чем разница между int и Integer в Java — Разница Между

главное отличие между int и Integer в Java является то, что int — это примитивный тип данных, а Integer — это класс-оболочка, соответствующий int.    Java — это мощный язык программирования для разра

главное отличие между int и Integer в Java является то, что int — это примитивный тип данных, а Integer — это класс-оболочка, соответствующий int.   

Java — это мощный язык программирования для разработки безопасных и надежных приложений. Одной из основных причин популярности Java является то, что он поддерживает объектно-ориентированное программирование. Кроме того, эта парадигма позволяет легко моделировать реальные сценарии разработки программного обеспечения. Кроме того, обычное использование этого языка в веб, мобильных и других приложениях уровня предприятия. Два понятия, связанных с Java, являются int и Integer.

Ключевые области покрыты

1. Что такое int в Java
— определение, функциональность
2. Что такое целое число в Java
— определение, функциональность
3. В чем разница между int и Integer в Java
— Сравнение основных различий

Основные условия

int, Integer, OOP





Что такое инт

Переменная — это область памяти, которая содержит значение. Каждая переменная имеет тип данных. Другими словами, каждая переменная способна хранить данные определенного типа. Тип данных определяет, сколько памяти выделить для хранения значения в этом месте памяти.

Одним из основных типов данных в Java является примитивный тип данных; это основные типы данных, доступные в Java. «Инт» является одним из них. Значение по умолчанию для переменной int равно 0. Кроме того, оно выделяет 4 байта при хранении данных.

Пример таков.

Рисунок 1: Java-программа с int

В приведенной выше программе x и y — две переменные типа int. Они хранят значения 10 и 20. Есть еще одна переменная типа int, которая называется sum. Сумма x и y сохраняется в переменной sum. Наконец, метод println отображает вывод на консоли.

Что такое целое число

Классы Wrapper помогают преобразовать примитивный тип данных в объект, а объект — в примитивный тип. Структуры данных, такие как списки, векторы и т. Д., Не хранят данные в примитивном формате. Они хранят данные в виде объектов. Следовательно, мы можем использовать классы-обертки для выполнения этого преобразования. Эквивалентным классом-оберткой для int является Integer.

Рисунок 2: Java-программа с Integer

В приведенной выше программе x является значением типа int. Мы можем преобразовать это в Integer, как в строке 5. Затем метод println отображает этот вывод на консоли. Аналогично, k является целым числом. Мы можем преобразовать это в int, используя метод intValue. Наконец, метод println отображает вывод на консоли.

Разница между int и Integer в Java

Определение

В то время как int является типом данных, в котором хранится 32-разрядное целое число с дополнительным знаком со знаком 2, целое число — это класс, который оборачивает примитивный тип int в объект.

основа

Таким образом, основное различие между int и Integer в Java заключается в том, что int является примитивным типом данных, а Integer является классом-оболочкой.

использование

В то время как тип данных int помогает хранить целочисленные значения в памяти, integer помогает преобразовать int в объект и преобразовать объект в int. Следовательно, это еще одно различие между int и Integer в Java.

Заключение

Основное различие между int и Integer в Java заключается в том, что int — это примитивный тип данных, а Integer — это класс-оболочка, соответствующий int. Вкратце, мы можем использовать int для хранения таких значений, как 5,10, 20 и т. Д. С другой стороны, мы можем использовать Integer для преобразования int в объект и для преобразования объекта в int.

Ссылка:

1. «Типы данных Java — Javatpoint». Www.javatpoint.com,

В чем разница между int и целым числом в Java и C#? mycod.net

Я просто напишу здесь, так как некоторые другие сообщения немного неточны по отношению к C#.

Правильно: int -это псевдоним для System.Int32 .

Неверно: float -это не псевдоним для System.Float , а для System.Single

В принципе, int-это зарезервированное ключевое слово в языке программирования C# и псевдоним для типа значения System.Int32 .

однако float и Float-это не одно и то же, так как правильный тип системы для » float » — это System.Single. Есть некоторые типы, подобные этому, которые зарезервировали ключевые слова, которые, похоже, не соответствуют именам типов напрямую.

В C# нет никакой разницы между » int » и «System.Int32«, или любой из других пар или ключевых слов/системных типов, кроме как при определении enums. С помощью параметра enums можно указать размер используемого хранилища,и в этом случае можно использовать только ключевое слово reserved, а не имя типа среды выполнения system.

Будет ли значение int сохранено в стеке, в памяти или в виде объекта кучи со ссылкой, зависит от контекста и способа его использования.

Это объявление в методе:

int i;

определяет переменную i типа System.Int32, живущую в регистре или в стеке, в зависимости от оптимизаций. Одно и то же объявление в типе (структуре или классе) определяет поле члена. Одно и то же объявление в списке аргументов метода определяет параметр с теми же параметрами хранения, что и для локальной переменной. (обратите внимание, что этот абзац не является допустимым, если вы начинаете вытягивать методы итератора в смесь, это совершенно разные звери)

Чтобы получить объект кучи, можно использовать бокс:

object o = i;

это создаст коробочную копию содержимого i в куче. В IL вы можете получить доступ к методам объекта кучи напрямую, но в C# вам нужно привести его обратно к int, который создаст другую копию. Таким образом, объект в куче не может быть легко изменен в C# без создания новой коробочной копии нового значения int. (Фу, этот абзац не так-то легко читается.)

python — в чем разница между eval и int

Ранее я слышал, что eval(input(a)) автоматически преобразует строку в int, но если я кодирую

age = eval(input("enter age"))

Во время ввода я ввожу 01, это ошибка, но когда я кодирую

age = int(input("enter age"))

01 в качестве ввода работает отлично. Почему это?

6

Cheang Wai Bin

25 Авг 2017 в 15:34

2 ответа

Лучший ответ

eval оценивает выражение Python. В python 3 числа, начинающиеся с 0, не допускаются (кроме 0000, см. Почему 000 оценивается как 0 в Python 3? ). В python 2 они интерпретируются как восьмеричные числа (с основанием 8). Не лучше … (Python 3 base 8 теперь использует исключительно префикс Oo)

int выполняет преобразование строки в целое число, поэтому он не может оценить сложное выражение (которое вам не нужно), но не подвергается синтаксису с ведущим нулем.

Еще одна приятная особенность заключается в том, что вы можете проверить, является ли введенное выражение целым числом, используя простой и квалифицированный блок try/except:

while True:
   try:
       age = int(input("enter age"))
       break
   except ValueError:
       print("Retry!")

eval вам нужно будет защитить от всех исключений)

Совет: используйте int, потому что это безопаснее, не имеет проблем с безопасностью (eval может оценивать любое выражение, включая системные вызовы и удаление файлов) и идеально подходит для ваших целей.

Примечание: приведенный выше код все еще небезопасен для python 2: input действует как eval. Вы можете защитить свой код от этого с помощью простого кода в начале вашего модуля:

try:
    input = raw_input
except NameError:
    pass

Поэтому python 2 input больше не является недоступным и вместо этого вызывает raw_input. Python 3 игнорирует этот код.

8

Jean-François Fabre
25 Авг 2017 в 13:20

eval() используется для проверки выражения. Число считается выражением, кроме восьмеричных чисел (чисел, начинающихся с 0). int() обрабатывает преобразование строки в целое число. Есть много причин, по которым вам следует избегать использования eval(). Только имейте в виду:

  • Python 2.x

    x = raw_input('Enter number here: ') 
    
  • Python 3.x

    x = input('Enter number here: ') 
    
  • Python 2.x
    Риск безопасности:

    x = input('Enter number here: ') 
    
  • Python 3.x
    Риск безопасности:

    x = eval(input('Enter number here: ')) 
    

Также имейте в виду, что eval() потенциально может запускать код, который может создать огромную угрозу безопасности. Я предлагаю не использовать его, если вы четко не знаете, что делаете, иначе это может поставить под угрозу ваше приложение.

3

HSK
22 Авг 2018 в 02:45

Функции Int, Fix

Возвращает целую часть числа.


Синтаксис


Int
(

число

)


Fix(

число

)

Обязательный аргумент числоАргумент представляет собой значение типа Double или любое допустимое числовое выражение. Если число содержит значение NULL, возвращается NULL.


Замечания

Функции Int и Fix удаляют дробную часть числа и возвращают полученное целое значение.

Различие между функциями Int и Fix состоит в том, что при отрицательном значении числа функция Int возвращает первое отрицательное целое число, не превышающее число, а функция Fix — первое отрицательное целое число, которое больше числа или равно ему. Например, функция Int преобразует -8,4 в -9, а Fix преобразует -8,4 в -8.

Функция Fix(число) вычисляется следующим образом:


Sgn(number) * Int(Abs(number))

Примеры запросов







Выражение



Результаты:


SELECT Int([Discount]) AS Expr1 FROM ProductSales;


Удаляет дробную часть всех значений в поле «Скидка» и возвращает итоги для всех значений. Для отрицательных дробей «Int» возвращает первое отрицательное integer, меньшее или равное числу. Например, для значения скидки «-223,20» возвращается значение -224,00.


SELECT Fix([Discount]) AS Expr1 FROM ProductSales;


Удаляет дробную часть всех значений в поле «Скидка» и возвращает итоги для всех значений. Для отрицательных дробей «Исправить» возвращает первое отрицательное integer, большее или равное числу. Например, для значения скидки «-223,20» возвращается значение -223,00.

Пример VBA


Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (VBA). Чтобы получить дополнительные сведения о работе с VBA, выберите Справочник разработчика в раскрывающемся списке рядом с полем Поиск и введите одно или несколько слов в поле поиска.

В данном примере показано, как функции Int и Fix возвращают целые части чисел. Если значением аргумента является отрицательное число, функция Int возвращает первое отрицательное целое число, не превышающее его, а функция Fix — первое отрицательное целое число, которое больше этого значения или равно ему.


Dim MyNumber
MyNumber = Int(99.8) ' Returns 99.
MyNumber = Fix(99.2) ' Returns 99.
MyNumber = Int(-99.8) ' Returns -100.
MyNumber = Fix(-99.8) ' Returns -99.
MyNumber = Int(-99.2) ' Returns -100.
MyNumber = Fix(-99.2) ' Returns -99.


IntArray vs Array в Котлине Kotlin Dev

Array<Int> является целым Integer[] под капотом, а IntArrayint[] . Вот и все.

Это означает, что когда вы помещаете Int в Array<Int> , он всегда будет помещен в коробку (в частности, с Integer.valueOf() ). В случае с IntArray никакого бокса не будет, потому что он переводится в примитивный массив Java.


Помимо возможных последствий для работы вышеизложенного, есть также удобство рассмотрения. Примитивные массивы могут быть оставлены неинициализированными, и они будут иметь значения по умолчанию 0 во всех индексах. Вот почему IntArray и остальные примитивные массивы имеют конструкторы, которые принимают только параметр размера:

 val arr = IntArray(10) println(arr.joinToString()) // 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 

Напротив, Array<T> не имеет конструктора, который принимает только параметр размера: ему нужны действительные, не нулевые экземпляры T во всех индексах, которые должны быть в правильном состоянии после создания. Для типов Number это может быть значение по умолчанию 0 , но нет возможности создавать экземпляры по умолчанию произвольного типа T

Поэтому при создании Array<Int> вы можете использовать конструктор, который также выполняет функцию инициализации:

 val arr = Array<Int>(10) { index -> 0 } // full, verbose syntax val arr = Array(10) { 0 } // concise version 

Или создайте Ąrray<Int?> Чтобы избежать необходимости инициализировать каждое значение, но затем вы будете вынуждены обрабатывать возможные значения null каждый раз, когда вы читаете из массива.

 val arr = arrayOfNulls<Int>(10) 

Массивы в Котлине – это классы (а не «специальные» типы, такие как Java).

Stdlib Kotlin предоставляет классы специального назначения для примитивных массивов JVM, чтобы улучшить интеграцию и производительность языка Java.

Эмпирическое правило будет заключаться в использовании Array<T> за исключением случаев, когда это вызывает проблему при смешивании с существующим Java-кодом или должно быть вызвано из классов Java. Для записи мне никогда не приходилось использовать IntArray .

Вы можете проверить документацию по этому вопросу здесь: https://kotlinlang.org/docs/reference/basic-types.html#arrays

В чем разница между int и integer в Java и C#?

я просто опубликую здесь, так как некоторые из других сообщений немного неточны по отношению к c#.

правильно: int псевдоним System.Int32.
неправильно: float это не псевдоним System.Float, но и System.Single

в основном, int является зарезервированным ключевым словом на языке программирования C# и является псевдонимом для System.Int32 тип значения.

float и Float не совпадают, однако, как правильный тип системы для «float» система.Одиночный. Есть некоторые типы, подобные этому, которые зарезервировали ключевые слова, которые, похоже, не соответствуют именам типов напрямую.

в C# нет никакой разницы между»int» и «System.Int32«, или любые другие пары или ключевые слова / системные типы, за исключением при определении перечислений. С помощью перечислений можно указать размер используемого хранилища, и в этом случае можно использовать только ключевое слово reserved, а не имя типа среды выполнения системы.

Wether значение в int будет храниться в стеке, в памяти или в качестве объекта кучи, на который ссылается, в зависимости от контекста и способа его использования.

это объявление в методе:

int i;

определяет переменную i типа System.Int32, живущий в регистре или в стеке, в зависимости от оптимизации. Одно и то же объявление в типе (структуре или классе) определяет поле-член. То же объявление в списке аргументов метода определяет параметр с теми же параметрами хранения, что и для локального переменная. (обратите внимание, что этот абзац недействителен, если вы начинаете вытягивать методы итератора в микс, это разные звери)

чтобы получить объект кучи, вы можете использовать бокс:

object o = i;

это создаст коробочную копию содержимого i в куче. В IL вы можете получить доступ к методам объекта кучи напрямую, но в C# вам нужно вернуть его в int, который создаст другую копию. Таким образом, объект в куче не может быть легко изменен в C# без создания новой коробочной копии нового значения int. (Фу, этот абзац не так-то легко прочитать.)

26

автор: Lasse Vågsæther Karlsen

В чем разница между int и Integer в Java и C #?

Я просто опубликую здесь, поскольку некоторые другие сообщения немного неточны в отношении C #.

Правильно: int — это псевдоним для System.Int32 .
Неправильно: float не является псевдонимом для System.Float , а для System.Single

По сути, int — это зарезервированное ключевое слово в языке программирования C # и псевдоним для системы .Тип значения Int32 .

Однако

float и Float — это не одно и то же, поскольку правильный тип системы для « float » — System.Single. Есть некоторые типы, подобные этому, с зарезервированными ключевыми словами, которые, похоже, не соответствуют напрямую именам типов.

В C # нет разницы между « int » и « System.Int32 » или любыми другими парами или ключевыми словами / типами системы, за исключением определения перечислений. С помощью перечислений вы можете указать размер используемого хранилища, и в этом случае вы можете использовать только зарезервированное ключевое слово, а не имя типа среды выполнения системы.

В зависимости от контекста и того, как вы его используете, значение в int будет храниться в стеке, в памяти или как объект кучи, на который имеется ссылка.

Это объявление в методе:

  int i;
  

определяет переменную i типа System.Int32 , которая находится в регистре или стеке, в зависимости от оптимизации. То же объявление в типе (структуре или классе) определяет поле члена. То же объявление в списке аргументов метода определяет параметр с теми же параметрами хранения, что и для локальной переменной.(обратите внимание, что этот абзац недействителен, если вы начинаете втягивать методы итератора в микс, это вообще разные звери)

Чтобы получить объект кучи, вы можете использовать бокс:

  объект o = i;
  

, это создаст коробочную копию содержимого i в куче. В IL вы можете напрямую обращаться к методам объекта кучи, но в C # вам нужно вернуть его к типу int, который создаст еще одну копию. Таким образом, объект в куче не может быть легко изменен в C # без создания новой коробочной копии нового значения int.(Ух, этот абзац не так легко читать.)

Разница между int и long

Ключевое различие — int и long

При программировании требуется хранить данные. Данные хранятся в памяти. Ячейки памяти, в которых могут храниться данные, называются переменными. Каждая ячейка памяти может хранить определенный тип данных. Размер памяти для каждого типа данных разный. Тип данных int используется для хранения числовых значений без десятичных знаков.Типы данных float и double используются для хранения числовых значений с десятичными точками. Тип данных char используется для хранения односимвольного значения. Точно так же каждый тип данных может хранить определенное значение в зависимости от типа. В языках программирования, таких как Python, нет необходимости объявлять тип переменной. Если программист записан как a = 3, Python автоматически определяет, что это целочисленная переменная. В языках программирования, таких как Java, программист должен указать тип данных.Если переменная объявлена ​​как int, он не может присвоить ей символьное значение. Int и long — это два типа данных. В этой статье обсуждается разница между int и long. Ключевое различие между int и long заключается в том, что int имеет ширину 32 бита, а long — 64 бита.

СОДЕРЖАНИЕ

1. Обзор и основные отличия
2. Что такое int
3. Что такое long
4. Сходства между int и long
5. Параллельное сравнение — int и long в табличной форме
6.Резюме

Что такое int?

Тип данных int — это наиболее часто используемый тип данных, содержащий целочисленное значение. Это предопределенный тип данных, поддерживаемый многими языками программирования, такими как Java. Для объявления целочисленной переменной используется ключевое слово int. Следовательно, его нельзя использовать в качестве идентификатора, такого как имя переменной или имя метода. См. Приведенный ниже пример программы.

Рисунок 01: Программа на Java со значениями int

Согласно вышеприведенной программе, переменная a является int и имеет значение 10.Переменная b имеет тип int и значение 20. Сумма a и b вычисляется и присваивается переменной sum. Это тоже целое число. В цикле for «i» — это переменная счетчика. Это целое число. Он будет повторяться 5 раз. Когда значение «i» становится равным 6, условие становится ложным и выходит из цикла.

Приведение типов может выполняться для типов данных. Это процесс преобразования одного типа данных в другой тип данных. При назначении меньшего типа данных большему типу данных преобразование не требуется.Расширение происходит в байтах, коротких, целых, длинных, плавающих, двойных. При назначении большего типа данных малому типу данных необходимо выполнить приведение.

Рисунок 02: Отливка

В приведенной выше программе переменная num1 имеет значение 10. Переменная num2 имеет значение 20. Сумма представляет собой целое число. Поскольку int — это тип данных большего размера, чем байт, необходимо преобразовать тип в байт, чтобы сохранить в байтовой переменной. Если приведение типов отсутствует, это означает, что байтовой переменной присваивается целочисленное значение, поэтому возникнет ошибка времени компиляции.63-1). Его ширина составляет 64 бита. Количество байтов для long составляет 8 байтов. Один байт эквивалентен 8 битам. Обратитесь к программе ниже.

Рисунок 03: Программа на Java с длинными значениями

Согласно вышеприведенной программе ширина и длина являются длинными переменными. Полученное значение присваивается длинной переменной. Длинный — самый большой тип данных. Другие типы данных меньше длинных. Таким образом, другие типы данных могут быть присвоены long без приведения типов. При присвоении int длинного значения требуется приведение типов.

В чем сходство между int и long?

  • И int, и long — это предопределенные типы данных, поддерживаемые такими языками программирования, как Java.

В чем разница между int и long?

int и long

Тип данных int — это 32-битовое целое число с дополнением до двух со знаком. Длинный тип данных — это 64-битовое целое число с дополнением до двух со знаком.
Количество байтов
Длина int составляет 4 байта.63-1) в Java
Значение по умолчанию
Значение int по умолчанию — 0. Значение long по умолчанию — 0L.
Ключевое слово
Ключевое слово int используется для объявления целого числа. Ключевое слово long используется для объявления long.
Требуемая память
Для int требуется меньше памяти, чем для long. Long требует больше памяти, чем int.

Сводка —

int и long

При программировании необходимо хранить данные. Эти данные хранятся в ячейках памяти. Эти ячейки памяти называются переменными. Каждая переменная имеет определенный тип данных для хранения. Существуют такие типы данных, как int, char, double и float и т. Д. В этой статье обсуждалась разница между двумя типами данных: int и long. Тип данных int — это 32-битное знаковое целое число с дополнением до двух. Тип данных long — это 64-битное знаковое целое число с дополнением до двух.Long — это более крупный тип данных, чем int. Разница между int и long в том, что int имеет ширину 32 бита, а long — 64 бита.

Артикул:

1. Point, Учебники. «Базовые типы данных Java». Tutorials Point, 8 января 2018 г. Доступно здесь
2. «Преобразование типов в Java с примерами». GeeksforGeeks , 5 января 2017 г. Доступно здесь

7 Разница между int и long

Что такое int?

В информатике целое число является датумом целого типа данных , типа данных, который представляет
некоторый диапазон математических целых чисел.Интегральные данные
типы могут быть разных размеров и могут содержать или не содержать
отрицательные значения. Целые числа обычно представлены в компьютере как группа
двоичные цифры (биты). Размер группировки варьируется, поэтому набор целых чисел
доступные размеры варьируются между разными типами компьютеров. Компьютерное железо
почти всегда предоставляют способ представления регистра процессора или
адрес памяти как целое число.

Целочисленное значение обычно
указывается в исходном коде программы как последовательность
цифры, необязательно с префиксом + или -.Некоторые языки программирования позволяют другим
обозначения, такие как шестнадцатеричные (основание 16) или восьмеричные (основание 8). Некоторое программирование
языки также допускают разделители групп цифр.

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

Другое основное использование целочисленного типа данных представлено в
циклы кода, такие как инструкции «while». Например, программист может
установить целочисленное значение с именем «int», где int = 1. Код может включать
команда «int = int + 1», которая будет увеличивать значение постепенно.
Программист может добавлять дополнительные команды для результатов, где значение достигает
определенная критическая точка.

Что вам нужно
Знайте о int

  • Тип данных int представляет собой 32-битное двоичное число со знаком
    дополнительное целое число.31-1) на Яве.
  • Значение по умолчанию для int — 0.
  • Ключевое слово, используемое для объявления переменной типа int
    это «int».
  • Память, необходимая для хранения переменной типа int, меньше
    по сравнению с длинным.

Какая длина?

Длинное целое число — это тип данных.
в информатике, диапазон которых больше (иногда даже вдвое), чем у
стандартный тип данных целое число. В зависимости от языка программирования и
компьютерный процессор, размер длинного целого числа будет варьироваться.В некоторых
языки программирования, размер длинного целого числа стандартный и фиксированный
на разных платформах, в то время как на других это зависит от процессора. Там
это определенные языки программирования, которые не используют длинные целые числа, но
они используются во многих языках программирования для хранения большого диапазона значений,
особенно во время математических вычислений.

Как и целое число стандартного типа, длинные целые числа представлены в виде набора двоичных цифр. Длинные целые числа могут быть беззнаковыми (представление неотрицательных целых чисел) или со знаком (представление отрицательных целых чисел).В большинстве языков программирования определены минимальные и максимальные значения целых чисел, которые могут быть представлены длинными целыми числами.

Размер длинных целых чисел в разных языках программирования в виде последователей:

  • ANSI C: минимум 4 байта
  • C ++: минимум 4 байта
  • Visual Basic: минимум 8 байтов
  • SQL Server: минимум 8 байтов
  • C #: минимум 8 байтов
  • VB.Net: минимум 8 байтов
  • Java : Минимум 8 байтов
  • Паскаль: Минимум 8 байтов

Что вам нужно
Знайте о длинном

  • Длинный тип данных представляет собой 64-битную двойку со знаком
    дополнительное целое число.63-1) на Яве.
  • Значение по умолчанию для long — 0L.
  • Ключевое слово, используемое для объявления переменной длинного типа
    «длинный».
  • Память, необходимая для хранения длинной переменной:
    больше по сравнению с int.

Также читайте: Разница между стеком и кучей в C ++

Разница
Между int и long в табличной форме

ОСНОВА СРАВНЕНИЯ

ИНТ ДЛИННЫЙ
Описание Тип данных int — это 32-битное знаковое целое число с дополнением до двух.63-1)
в Java.

Значение по умолчанию По умолчанию значение int равно 0.

Значение по умолчанию для long — 0L.

Ключевое слово Ключевое слово, используемое для объявления переменной типа int, — «int».

Ключевое слово, используемое для объявления переменной длинного типа, — «длинное».

Память Память, необходимая для хранения переменной типа int, меньше по сравнению с long. Память, необходимая для хранения переменной типа long, больше по сравнению с int.

В чем разница между int и double

Основное различие между int и double состоит в том, что int используется для хранения 32-битного целого числа с дополнением до двух, а double используется для хранения 64-битного значения с плавающей запятой двойной точности.

В языках программирования, таких как C ++, мы используем переменные. Переменная — это имя, присвоенное месту, в котором хранятся данные.У каждой переменной есть тип данных, который она может хранить. Другими словами, каждая переменная может хранить данные определенного типа. Например, переменная, объявленная как int, может хранить только целочисленное значение, тогда как переменная, объявленная как double, может хранить только двойное значение. Тип данных определяет, сколько памяти он может выделить для хранения значения в этой ячейке памяти. Int и double — это два основных примитивных типа данных. Обычно int выделяет 4 байта для данных, тогда как double выделяет 8 байтов для данных.

Основные зоны покрытия

1.Что такое int
— Определение, функциональность
2. Что такое double
— Определение, функциональность
3. Разница между int и double
— Сравнение основных различий

Ключевые термины

int, double, переменные

Что такое int

Один из основных примитивных типов данных — int. Объем памяти, выделенной для типа данных int, зависит от системы, но обычно это 4 байта.

Рисунок 1: Программа на C ++ с int

В приведенной выше программе num1 и num2 — две переменные типа int. В num1 хранится 10, а в num2 — 20. Сумма — это еще одна переменная типа int. Суммарное значение num1 и num2 присваивается переменной суммы. Наконец, оператор cout отображает сумму на консоли.

Что такое двойной

Другой основной тип данных — двойной. Объем памяти, выделенной для двойника, зависит от системы. Однако обычно double выделяет 8 байтов для хранения данных.

Рисунок 2: Программа на C ++ с двойным числом

В приведенной выше программе base и height — две переменные типа double. В базовой переменной хранится значение 5.0, а в переменной высоты — 4.5. Площадь — это еще одна переменная типа double. Значение, вычисленное с использованием базы и высоты, присваивается переменной площади. Наконец, оператор cout отображает область на консоли.

Разница между int и double

Определение

В то время как int — это тип данных, представляющий собой 32-битное знаковое целое число с дополнением до двух, double — это тип данных, который представляет собой 64-битное число с плавающей запятой двойной точности IEEE 745.

Распределение памяти

Распределение памяти — это основное различие между int и double. В то время как тип данных int выделяет 4 байта для хранения данных, тип данных double выделяет 8 байтов для хранения данных.

Использование

Кроме того, еще одно различие между int и double заключается в том, что тип данных int используется для хранения целочисленных значений, а тип данных double используется для хранения значений с плавающей запятой.

Скорость

Более того, арифметические операции с int быстрее, чем с double.

Заключение

int и double являются основными примитивными типами данных. Основное различие между int и double заключается в том, что int используется для хранения 32-битного целого числа с дополнением до двух, а double используется для хранения 64-битного значения с плавающей запятой двойной точности. Короче говоря, double занимает в два раза больше места в памяти, чем int для хранения данных.

Артикул:

1. «Типы данных C». GeeksforGeeks, 15 ноября 2018 г., доступно здесь.

Разница между типом данных SMALLINT и INT в Sql Server

И SMALLINT, и INT являются точными числовыми типами данных, используемыми для хранения целочисленных значений.31-1) Пример использования

ОБЪЯВИТЬ @i SMALLINT
УСТАНОВИТЬ @i = 150
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:
150

ОБЪЯВИТЬ @i INT
УСТАНОВИТЬ @i = 150
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:
150

Пример размера хранилища, используемого переменной для хранения значения
ОБЪЯВИТЬ @i SMALLINT
УСТАНОВИТЬ @i = 150
ПЕЧАТЬ ДАННЫХ (@i)
 

РЕЗУЛЬТАТ:
2

ОБЪЯВИТЬ @i INT
УСТАНОВИТЬ @i = 150
ПЕЧАТЬ ДАННЫХ (@i)
 

РЕЗУЛЬТАТ:
4

Пример SMALLINT вне допустимого диапазона
ОБЪЯВИТЬ @i SMALLINT
УСТАНОВИТЬ @i = 32768
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:

Msg 220, уровень 16, состояние 1, строка 2
Ошибка арифметического переполнения для типа данных smallint, значение = 32768.

ОБЪЯВИТЬ @i INT
УСТАНОВИТЬ @i = 32768
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:
32768

Попытаться сохранить Отрицательное значение
ОБЪЯВИТЬ @i SMALLINT
УСТАНОВИТЬ @i = -150
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:
-150

ОБЪЯВИТЬ @i INT
УСТАНОВИТЬ @i = -150
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:
-150

Пример значений SMALLINT и INT вне диапазона
ОБЪЯВИТЬ @i SMALLINT
НАБОР @i = 2147483648
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:

Сообщение 8115, уровень 16, состояние 2, строка 2
Ошибка арифметического переполнения при преобразовании выражения в тип данных smallint.

ОБЪЯВИТЬ @i INT
НАБОР @i = 2147483648
ПЕЧАТЬ @i
 

РЕЗУЛЬТАТ:

Msg 8115, уровень 16, состояние 2, строка 2
Ошибка арифметического переполнения при преобразовании выражения в тип данных int.

[ТАКЖЕ ПРОЧИТАЙТЕ] TINYINT против INT

Выбор правильного типа данных при создании таблицы очень важен. Неправильный выбор типа данных приведет к проблемам с производительностью и хранением со временем по мере роста данных.Поскольку неправильный выбор типа данных приводит к тому, что требуется больше места для хранения, и нет. записей, хранящихся на каждой странице данных, будет меньше. Кроме того, если индекс создается для таких столбцов, он не только занимает дополнительное место для хранения значения в строке на странице данных, но также требует дополнительного места в индексе. Меньше нет. записей, хранящихся на странице данных, то для обслуживания запросов сервер Sql не должен загружать больше. страниц данных в память. Например: для столбца таблицы, в котором хранится state_id, выбор типа данных INT вместо столбца TINYINT или SMALLINT неэффективен, поскольку количество штатов в стране в худшем случае также никогда не превышает трехзначное число.Итак, для столбца state_id, если мы выберем тип данных INT, для его хранения всегда потребуется 4 байта, независимо от хранимого в нем значения. Тогда как TINYINT занял бы 1 байт для хранения того же значения, а SMALLINT — 2 байта. Поэтому очень важно выбрать правильный тип данных при создании таблицы. Надеюсь, что указанные выше различия помогут вам выбрать правильный тип данных при создании таблицы.

ТАКЖЕ ПРОЧИТАЙТЕ

В чем разница между int.Parse () и int.TryParse ()?

В чем разница между int.Parse () и int.TryParse () ? Или , чем int.parse () отличается от int.TryParse () ? — еще один часто задаваемый вопрос в интервью для новичков, и я заметил путаницу, отвечая на него. Попробуем разобраться на простом примере. Чтобы ответить на этот вопрос в порядке сортировки, методы int.Parse () и int.TryPrase () используются для преобразования строкового представления числа в целое число .В случае, если строка не может быть преобразована в , int.Parse () генерирует исключения , где как int.TryParse () возвращает логическое значение, false .

Давайте попробуем разобраться на простом примере, показанном ниже.

В этом случае строка val будет преобразована в целое число без каких-либо ошибок или исключений; и это то, что предназначено для метода int.Parse ().

Метод int.Prase () выдает три разных типа исключений в зависимости от предоставленных данных.

  • Если значение параметра равно NULL, будет выдано ArgumentNullException
  • Если значение параметра отличается от целочисленного значения или имеет неправильный формат, будет сгенерировано FormatException .
  • , если значение параметра выходит за пределы целочисленных диапазонов, то генерируется OverflowException .

Случай метода int.TryParse (), когда он преобразует строковое представление числа в целое число; он устанавливает выходную переменную с целым числом результата и возвращает истину в случае успешного анализа, в противном случае — ложь.

Не забывайте про int.TryParse () на случай, если не будет никаких исключений. Либо это для нулевого параметра, неправильного формата или целого числа вне значения. Каждый раз значение результата будет установлено на 0, а метод вернет false.

Надеюсь, теперь это даст вам четкую картину. Давайте сложим их рядом!

Какой лучший ? На мой взгляд, int.TryParse () будет лучшим способом, поскольку он самостоятельно обрабатывает исключения, и вы можете просто сосредоточиться на значениях. Опять же, это полностью зависит от того, в каком контексте вы хотите его использовать. если вы хотите знать, когда он не работает и почему, вам следует использовать int.parse.

Хотите поработать и получить доступ к важному приложению Windows и программному обеспечению во время путешествия? Это возможно с облачным рабочим столом от CloudDesktopOnline.com. Кроме того, для дополнительных размещенных приложений Microsoft, таких как Exchange, SharePoint, Dynamics CRM, Project Server и др., Попробуйте Apps4Rent

Что ж, это еще не конец. Чтобы обсуждение было более интересным, вы можете задать еще один вопрос во время этого общего обсуждения.Итак, , чем они отличаются от Convert.ToInt32 () ? Я оставлю это на ваше усмотрение, чтобы изучить это…

Надеюсь, это поможет !!

В чем разница между int и int_fast16_t?

int — это «наиболее эффективный тип» по скорости / размеру, но это не указано в спецификации C. Это должно быть 16 или более бит.

int_fast16_t — наиболее эффективный тип по скорости с по крайней мере диапазоном 16-битного int.

Пример: данная платформа могла решить, что int должен быть 32-битным по многим причинам, не только по скорости.Одна и та же система может обнаружить, что другой тип является самым быстрым для 16-битных целых чисел.

Пример: на 64-битной машине, где можно было бы ожидать, что int будет 64-битным, компилятор может использовать режим с 32-битной компиляцией int для совместимости. В этом режиме int_fast16_t может быть 64-битным, поскольку это самая быстрая ширина, позволяющая избежать проблем с выравниванием и т. Д.

int_fast16_t гарантированно будет самым быстрым int с размером не менее 16 бит. int не гарантирует его размер, за исключением:

  sizeof (char) = 1 и sizeof (char) <= sizeof (короткий) <= sizeof (int) <= sizeof (длинный).
  

И что он может удерживать диапазон от -32767 до +32767.

(7.20.1.3p2) «Имя typedef int_fastN_t обозначает самый быстрый целочисленный тип со знаком шириной не менее N . Имя typedef uint_fastN_t обозначает самый быстрый целочисленный тип без знака с шириной не менее N

Насколько я понимаю, спецификация C говорит, что тип int должен быть наиболее эффективным типом на целевой платформе, который содержит не менее 16 бит.

Вот что на самом деле говорится в стандарте о int : (проект N1570, раздел 6.2.5, параграф 5):

"Обычный" объект int имеет естественный размер, предложенный
архитектура среды выполнения (достаточно большая, чтобы вмещать любые
значение в диапазоне INT_MIN до INT_MAX , как определено в
заголовок <пределы.h> ).

Ссылка на INT_MIN и INT_MAX , возможно, немного вводит в заблуждение; эти значения выбираются на основе характеристик типа int , а не наоборот.

И фраза « натуральный размер » тоже немного вводит в заблуждение. В зависимости от целевой архитектуры для целочисленного типа может быть не только один «естественный» размер.

В другом месте стандарт говорит, что INT_MIN должно быть не более -32767 , а INT_MAX должно быть не менее +32767 , что означает, что int не менее 16 бит.

Вот что говорит стандарт о int_fast16_t (7.20.1.3):

Каждый из следующих типов обозначает целочисленный тип, который обычно
самый быстрый в использовании среди всех целочисленных типов, которые имеют как минимум
указанная ширина.

со сноской:

Не гарантируется, что указанный тип будет самым быстрым для всех целей;
если реализация не имеет явных оснований для выбора одного типа перед
другой, он просто выберет некоторый целочисленный тип, удовлетворяющий
требования к подписи и ширине.

Требования для int и int_fast16_t похожи, но не идентичны - и они также расплывчаты.

На практике размер int часто выбирается на основе критериев, отличных от «естественного размера» - или эта фраза интерпретируется для удобства. Часто размер int для новой архитектуры выбирается в соответствии с размером для существующей архитектуры, чтобы минимизировать сложность переноса кода. И есть довольно сильная мотивация сделать int не шире 32 бит, чтобы типы char , short и int могли охватывать размеры 8, 16 и 32 бит.В 64-битных системах, особенно x86-64, «естественный» размер, вероятно, составляет 64 бита, но большинство компиляторов C делают int 32-битными, а не 64 (а некоторые компиляторы даже делают long только 32-битными).

Выбор базового типа для int_fast16_t , как я подозреваю, в меньшей степени зависит от таких соображений, поскольку любой код, который его использует, явно запрашивает быстрый 16-битный целочисленный тип со знаком.

Добавить комментарий

Ваш адрес email не будет опубликован.