|   |   | 
| 
 | Напомните, чем DWORD от ULONG отличается? | ☑ | ||
|---|---|---|---|---|
| 0
    
        andrewks 01.02.12✎ 08:52 | 
        сабж.     | |||
| 1
    
        aleks-id 01.02.12✎ 08:54 | 
        дворд со знаком улонг без?     | |||
| 2
    
        smaharbA 01.02.12✎ 08:54 | 
        улонг это два положительных лонга
  а дворд это два слова, слово оно бывает такое "и" и такое "автофотовеломототелерадиомонтер" | |||
| 3
    
        Ненавижу 1С гуру 01.02.12✎ 08:55 | 
        typedef unsigned long DWORD;     | |||
| 4
    
        aleks-id 01.02.12✎ 08:55 | 
        ну и первый 32 бита а второй 64     | |||
| 5
    
        smaharbA 01.02.12✎ 08:55 | 
        или нужен практический смысл и конкретика ?     | |||
| 6
    
        andrewks 01.02.12✎ 08:56 | 
        (4) это почему? размерность одинаковая     | |||
| 7
    
        aleks-id 01.02.12✎ 08:56 | 
        (6) да ну?     | |||
| 8
    
        andrewks 01.02.12✎ 08:56 | 
        (3) т.е. абсолютно идентично? и байт-ордеринг одинаковый?     | |||
| 9
    
        andrewks 01.02.12✎ 08:59 | 
        (7) ну да     | |||
| 10
    
        Ненавижу 1С гуру 01.02.12✎ 08:59 | 
        смотря где ))     | |||
| 11
    
        andrewks 01.02.12✎ 09:00 | 
        (10) на интеле )     | |||
| 12
    
        andrewks 01.02.12✎ 09:01 | 
        (1) оба беззнаковые     | |||
| 13
    
        andrewks 01.02.12✎ 09:03 | 
        короче, если я правильно понимаю, это разные названия одного и того же объекта в разных религиях, так?     | |||
| 14
    
        Ненавижу 1С гуру 01.02.12✎ 09:10 | 
        (13) В с++ да, в C# ulong в два раза длиннее, но там нет dword     | |||
| 15
    
        ДенисЧ 01.02.12✎ 09:12 | 
        (13) нет. На разных битностях платформы лонг и дворд могут иметь разную длину. Особенно в старых виндах.     | |||
| 16
    
        andrewks 01.02.12✎ 09:12 | 
        (14) ясно, спасибо. с C# незнаком     | |||
| 17
    
        andrewks 01.02.12✎ 09:13 | 
        sizeof(ULONG)=4
  sizeof(DWORD)=4 | |||
| 18
    
        skunk 01.02.12✎ 09:14 | 
        я бы сказал что ulong это два dword  ... юлонг - 64 бита ... диворд - 32     | |||
| 19
    
        smaharbA 01.02.12✎ 09:28 | 
        лонг не меняется от разрядности, дворд зависит впрямую (в оригинале)     | |||
| 20
    
        aleks-id 01.02.12✎ 09:28 | 
        уже само название - ulong = unsigned long беззнаковый лонг
  то же самое ushort | |||
| 21
    
        andrewks 01.02.12✎ 09:29 | 
        (19)  может, наоборот?     | |||
| 22
    
        smaharbA 01.02.12✎ 09:29 | 
        но в оригинале и инт неизменен, теперь он так же отличается сам от себя     | |||
| 23
    
        smaharbA 01.02.12✎ 09:30 | 
        (21) неа, ворд это машинное слово изначально, а лонг выдуманный тип     | |||
| 24
    
        smaharbA 01.02.12✎ 09:31 | 
        теперь кто как хочет тот так и лепит     | |||
| 25
    
        Steel_Wheel 01.02.12✎ 09:32 | 
        (2) Слово от разрядности то-ли процессора то-ли шины (уже не вспомню)зависит. И равно разрядности ОС. int -- обычно слово, long -- 2 слова. Ulong -- беззнаковый long, скорее всего DWORD -- это псевдоним ulong     | |||
| 26
    
        Steel_Wheel 01.02.12✎ 09:33 | 
        (19) +1
  (3) О, я так и писал )) | |||
| 27
    
        skunk 01.02.12✎ 10:46 | 
        dword - это doble word  ... или два слова
  word - это два byte ... byte - это 8 бит ... никаким боком разрядность шины, процессора или оси на данные типы не влияет ... ulong - это 64 бита ... dword - 32 бита ... везде и всегда | |||
| 28
    
        smaharbA 01.02.12✎ 14:29 | 
        (27) не всегда     | |||
| 29
    
        Кириллка 01.02.12✎ 14:32 | 
        (28)например?     | |||
| 30
    
        smaharbA 01.02.12✎ 14:33 | 
        (29) что например, к случаю байт бывает и 4 и 6 и8 и 10 и даже 12 бит     | |||
| 31
    
        skunk 01.02.12✎ 14:34 | 
        (30)это когда?     | |||
| 32
    
        Кириллка 01.02.12✎ 14:35 | 
        (30)глобально так зачем? Явно автор win-specific интересна.     | |||
| 33
    
        Ненавижу 1С гуру 01.02.12✎ 14:40 | 
        (31) в си++ вполне может быть (17), и даже (3)     | |||
| 34
    
        smaharbA 01.02.12✎ 14:41 | 
        (32) тогда тоже х.з. где и как это будет, изначально слово это 16 бит, даже в 8-и битных процессорах, теперь 
  http://msdn.microsoft.com/ru-ru/library/6ykwckb8.aspx http://msdn.microsoft.com/en-us/library/cc230318(v=prot.10).aspx и еще куча | |||
| 35
    
        Кириллка 01.02.12✎ 14:55 | 
        (34)что-то ты не туда полез. Вот давай так: http://msdn.microsoft.com/ru-ru/library/s3f49ktz.aspx     | |||
| 36
    
        oleg_km 01.02.12✎ 15:02 | 
        Все очень просто: ULONG - это платформонезависимый тип, DWORD - платформозависимый тип. Типа если пишешь кроссплатформенное приложение используй ulong, если пишешь под конкретную реализацию процессор/ОС используй DWORD. На мой взгляд та мысль не взлетела, т.к. например в WinApi все перемешано ULONG, DWORD, поэтому можно наплевать и использовать что удобнее     | |||
| 37
    
        DGorgoN 01.02.12✎ 15:02 | 
        Я тоже подтверждаю разность байта на разных системах. В свое время даже были проблемы из-за этого на КАМАЗ-зе     | |||
| 38
    
        DGorgoN 01.02.12✎ 15:03 | 
        ЗЫ - Раньше считалось что бит не делим, но российские ученые..     | |||
| 39
    
        skunk 01.02.12✎ 15:08 | 
        (34)и что в этих ссылках ... в одной дворд равен 4 байтам  ... в другой 32 битам ... 32/4 = 8 ... вроде как получается
  (37)вот только не надо сейчас петь за древнию эвм стоящую в музее ит-департамента камаза и использующую 7 битные слова | |||
| 40
    
        DGorgoN 01.02.12✎ 15:13 | 
        (39) Относительно древняя да. Она до сих пор там работает. Пережила туеву хучу внедренцев. На КАМАЗе уже есть сап, аксапта, оракл, УППырище и БП переписанная каким то Московским франчем непонятно для каких целей. А старенькая IBM там с какой то древней прогой и утилитой пашет до сих пор. Но саге не совсем про неё. Там еще микроконтроллеры есть - так вот там как раз размерность другая и 1 таки хитрый прог на ней попался - он любил различные оптимизированные алгоритмы делать и заоптимизаровался на несколько сотен тысяч (тогда это были оооочень большие деньги). Хотя это вполне возможно была байка однако я такие контроллеры встречал..     | |||
| 41
    
        skunk 01.02.12✎ 15:14 | 
        (40)в ибм всегда было 8 бит = 1 байт ... это в наших бестах где-то пытались наперекор буржуинам байт из 7 бит сделать     | |||
| 42
    
        DGorgoN 01.02.12✎ 15:20 | 
        (41) В ИБМ да - я про МК, всего скорее наши..     | |||
| 43
    
        skunk 01.02.12✎ 15:35 | 
        (42)такая что-ли? wiki:Минск-32     | |||
| 44
    
        DGorgoN 01.02.12✎ 16:01 | 
        (43) Я не встречал названий. 
  Кстати до сих пор где то валяется пучок посеребренных проводов от какого то блока ЭВМ. В свое время на кружок попал этот блок. Мы когда его открыли - он весь блестел от золота. Через день от золота не осталось и следа.. | |||
| 45
    
        G-Re 01.02.12✎ 16:02 | 
        На Минск-32 даже успел немного поработать. ЯСК(Ассемблер в будущем) - вещь, а КОБОЛ - круто. Бобины с лентами крутились взад-вперед не переставая(при трансляции текста), перфокарты с множеством дырок... которые умудрялись читать глазами...     | |||
| 46
    
        Torquader 01.02.12✎ 23:47 | 
        Файл wtypes.h
  Имеет такую строчку: typedef DWORD ULONG; так что они, на самом деле, не отличаются ни чем. Только если включить строгое приведение типов, то система будет различать использование DWORD и ULONG для каких-то внутренних нужд. А 64бита - это int64 на самом деле или QWORD. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |