Запутался с типами

Тема в разделе "WASM.BEGINNERS", создана пользователем Prohvost, 15 мар 2009.

  1. Prohvost

    Prohvost New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    107
    есть вот такие переменные:
    LARGE_INTEGER FileSize;
    LARGE_INTEGER massiv[256];
    DWORD mas_norm[256];

    есть такой вот код.
    for(i=0; i<256; i++)
    {
    mas_norm = massiv.QuadPart/FileSize.QuadPart;
    }

    получаются всегда нули, потому что FileSize больше любого из значений massiv. Как получить в mas_norm нормальный результат от деления, а не только его целую часть?
     
  2. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    Воспользуйся FLOAT128 например.
     
  3. Prohvost

    Prohvost New Member

    Публикаций:
    0
    Регистрация:
    26 июл 2008
    Сообщения:
    107
    а разве Visual Studio поддерживает FLOAT128 ?
     
  4. twgt

    twgt New Member

    Публикаций:
    0
    Регистрация:
    15 янв 2007
    Сообщения:
    1.494
    WinNT.h
    Код (Text):
    1. #if defined(_M_IA64) && !defined(MIDL_PASS)
    2. __declspec(align(16))
    3. #endif
    4. typedef struct _FLOAT128 {
    5.     __int64 LowPart;
    6.     __int64 HighPart;
    7. } FLOAT128;
    8.  
    9. typedef FLOAT128 *PFLOAT128;
     
  5. leo

    leo Active Member

    Публикаций:
    0
    Регистрация:
    4 авг 2004
    Сообщения:
    2.542
    Адрес:
    Russia
    Вместо dword юзать float или double
     
  6. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Простите, может общеизвестно, но заодно всё ж спрошу ж... как в fasm определить типа свой тип?
    Типа 9 бит 7 бит и др. типы? Я давно что-то про типы типа в тасме читал, но забыл... а там было!
    Ибо асм всё может!
     
  7. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Semiono
    Угу, и свои команды может сделать, и ввести регистры любого размера тоже.
     
  8. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    0_o ? регистры нельзя! они железные!
     
  9. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Semiono
    Чугунные!
     
  10. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    етот ссы не проссыш, извиняюсь за каламбур. На асме всё просто: LARGE_INTEGER = QWORD = два дворда = 8 байт
    LARGE_INTEGER 256 dup (0) = QWORD 256 dup (?) = 2048 байт
    DWORD mas_norm[256] = DWORD 256 dup (?) = 1024 байт