2013-09-26 3 views
0

Не мог бы кто-нибудь объяснить это мне, потому что я должен дать объяснение им обоих в моем задании.Целочисленные и без знака целые числа?

Я знаю, что такое нормальное целое число, конечно, и использовали следующие описать его:

«Целое есть целое число, которое может быть положительным, отрицательным и нулевым, но она не может иметь десятичную точку.»

Но я просто не уверен в подписанных и неподписанных.

Благодаря

+0

«Подпись» включает знак (отрицательный или положительный). «Без подписи» не может быть неотрицательным. Вероятно, вы могли бы найти много информации о Википедии или что-то в этом роде. – iamnotmaynard

ответ

-1

Вообще, когда вы говорите, INT, он будет подписан Int. (подпись) INT имеет диапазон -32768 - 32767 Но беззнаковое целочисленное значение имеет диапазон от 0 - 65535

БЕЗЗНАКОВЫЙ переменной Тип междунар может содержать ноль и положительные числа, а подписанная INT имеет отрицательный, нулевой или положительный номера.

+1

Это верно для 16 бит, но неточно для 32, 64 бит и т. Д. Если вы измените, то мой -1 станет +1. – Bathsheba

0

В большинстве языков, когда вы объявляете целое число, вы объявляете целое число со знаком. Если вы хотите объявить целое число без знака, вам нужно конкретно указать компилятору. например в C#

int a; // Signed int 
uint b; // Unsigned int. 

Разница заключается в том, что в подписанном междунар, один из битов используется, чтобы указать, если число является положительным или отрицательным. In и unsigned int, этот бит используется для хранения значения. Эффект заключается в том, что вы можете удерживать в два раза абсолютные значения без знака, как вы можете в подписанном int. Или, что более ясно, диапазон Ц # целочисленного значения равен -2147,483,648 до 2,147,483,647, тогда как диапазон uint составляет от 0 до 4,294,967,295. Оба типа данных представляют собой 32-битные типы данных.

0

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

Например, с двумя бинарными цифрами вы можете иметь следующее:

Base 2 Base 10 
00  0 
01  1 
10  2 
11  3 

Однако, если мы возьмем первую цифру означает отрицательный (0) или положительный (1)

Base 2 Base 10 
01  -1 
00  0 
10  1 
11  2 

Или, если мы хотим, чтобы быть 1 negatiave, и 0 будет положительным:

Base 2 Base 10 
01  1 
00  0 
10  -1 
11  -2 

для дальнейшего чтения, ознакомьтесь с т он Статья в Витепедии о Two's compliment

Смежные вопросы