Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > unsigned


Автор: [m][a][n] 28.8.2004, 15:30
Всем Добрый День!
Меня интересует что значит unsigned?
к примеру функция:
unsigned(сама функция)
или даже может буть переменная:
unsigned a;
Пожалуйста расскажите простым языком... biggrin.gif

Автор: chipset 28.8.2004, 15:37
Цитата
unsigned a;

Поскольку по умолчанию типом считается int то этот код следует воспринимать
как
unsigned int a;
unsigned - значит то что переменная является беззнаковая, то есть не может принимать отрицательные значения..
это вообще то за пять секунд в книге находится

Автор: lynx_916 28.8.2004, 18:47
то есть, если у int знач. от -32768 до 32767, то у unsigned int или UINT от 0 до 65535

Автор: [m][a][n] 28.8.2004, 19:41
Спасибо большое более менее понял, а что Вы скажите про функцию к примеру:
unsigned ASD(ну и т.д.)
то как понимать это, то что фугкция неможет принимать отриц. значения? или то что функцианальные переменные(те какие в скаобках) не могут быть отриц?
Или как?
Расскажие пожалуйста!

Автор: Domestic Cat 28.8.2004, 19:55
Насколько я понимаю, это скорее из C чем из C++. В C

unsigned f();

есть то же самое, что и

unsigned int f();

Автор: [m][a][n] 28.8.2004, 20:06
Большое спасибо!
Еще вопрос появился:
Тогда в чем разница?
unsigned double a; от double a;
unsigned float a; от float a;
и т.д.

Автор: shedon 28.8.2004, 20:14
такая-же как unsigned int a; от int a;

Автор: Domestic Cat 28.8.2004, 20:29
А разве unsigned с не - интегральными типами употребляется ? wink.gif

Автор: Дрон 28.8.2004, 20:38
unsigned double быть не может smile.gif

Цитата
[a][n], 28.8.2004,  20:41]то как понимать это, то что фугкция неможет принимать отриц. значения? или то что функцианальные переменные(те какие в скаобках) не могут быть отриц?
Это значит, что функция возвращает значение типа unsigned.

Автор: Domestic Cat 28.8.2004, 21:56
Цитата
unsigned double быть не может


Как и unsigned float

Цитата
Это значит, что функция возвращает значение типа unsigned.


unsigned int smile.gif

Автор: Дрон 28.8.2004, 22:07
Domestic Cat
Виноват smile.gif Ну конечно unsigned не является самостоятельным типом, но всё же писать лишние три буквы очень и очень ломает... I'm so lazy smile.gif

Автор: JackYF 28.8.2004, 23:49
Ребят, ну что Вы ему голову морочите. unsigned - это означает беззнаковый, то есть туда можно вставить только положительные значения, но в два раза большие.
int - 32767
unsigned int 64???(32767*2)

Автор: [m][a][n] 29.8.2004, 10:29
Всё понял!
Всем большое спасибо!

Автор: lynx_916 29.8.2004, 21:45
Цитата(JackYF @ 28.8.2004, 22:49)
Ребят, ну что Вы ему голову морочите. unsigned - это означает беззнаковый, то есть туда можно вставить только положительные значения, но в два раза большие. int - 32767 unsigned int 64???(32767*2)

Цитата(lynx_916 @ 28.8.2004, 17:47)
то есть, если у int знач. от -32768 до 32767, то у unsigned int или UINT от 0 до 65535

гыыыы

Автор: _hunter 1.9.2004, 16:44
вы тут все дружно ему голову морочите smile.gif
ибо: unsigned int 32 0 <= X <= 4,294,967,295
( ranges of the data types for C++Builder )
и int, unsigned int 4 bytes
( fundamental types in Microsoft C++)

Автор: lynx_916 1.9.2004, 21:45
ничего не понял, что ты хотел пояснить вышесказанным. withstupid.gif

Автор: DENNN 2.9.2004, 09:58
lynx_916
Он хотел сказать, что нужно считать внимательно и 2 в степень 32 возводить

Автор: _hunter 2.9.2004, 16:06
именно smile.gif ( или указывать какая ось имеется в виду )

Автор: lynx_916 2.9.2004, 22:09
а, понятно.

Автор: gepard 3.9.2004, 09:26
Кстати:
unsigned как-то влияет всё-таки на float.
Только что проверял:
В своём движке старом поменял тип переменной с float на unsigned float и программа перестала правильно работать. Возможно это компилятор чего-то глючит, хотя в то же время пишет, что мол unsigned не влияет на float.
VS .NET 2002

Автор: lynx_916 3.9.2004, 19:04
Цитата(gepard @ 3.9.2004, 08:26)
Возможно это компилятор чего-то глючит, хотя в то же время пишет, что мол unsigned не влияет на float. VS .NET 2002

может глюк, потому что у тебя бета версия компилера?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)