типы данных

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

  1. n1kt0

    n1kt0 Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    160
    Интересует такая таблица:
    размер данных в си - размер данных в асм
    к примеру: long = dd к примеру и тд.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    windows.inc
     
  3. n1kt0

    n1kt0 Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    160
    ...в пакете масм32
     
  4. n1kt0

    n1kt0 Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    160
    ясно, а так нигде таблицу никто не составлял ?
     
  5. intel_x128

    intel_x128 New Member

    Публикаций:
    0
    Регистрация:
    17 май 2009
    Сообщения:
    345
    long = dd
    short = dw
    char = db

    Какая еще таблица епт?
     
  6. tester3000

    tester3000 New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2006
    Сообщения:
    140
    http://wasm.ru/article.php?article=1022005
     
  7. qqwe

    qqwe New Member

    Публикаций:
    0
    Регистрация:
    2 янв 2009
    Сообщения:
    2.914
    printf("%d", sizeof( int ));

    выводится текущая длина типа в байтах (в данном случае int-a). для любого типа включая строки, структуры и массивы.

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

    n1kt0 Забанен

    Публикаций:
    0
    Регистрация:
    18 июл 2007
    Сообщения:
    160
    мдя, нужно изучать си.
     
  9. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    но в этом то и проблема. на разных компиляторах Си одни типы данных будут различны. например тот же int варьируется 32/16 в зависимости от режима работы проца. для 16 битного режима это dw, а для 32 битного режима это dd. тоже было и с real, а потом появлялись всякие short, long и long long
     
  10. Killer

    Killer New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    316
    Я кажется совсем из ума выжил, но веть можно и так:

    DWORD t1,
    BYTE t2,
    DWORD t3,
    DWORD t4,
    BYTE t5,
    DWORD t6,

    или я что то не понимаю?
     
  11. Killer

    Killer New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    316
    Ну или там(мануал FASM)

    Таблица 1.1 Размеры операторов
    -----------T------T-------¬
    ¦ Оператор ¦ Биты ¦ Байты ¦
    ¦==========+======+=======¦
    ¦ byte ¦ 8 ¦ 1 ¦
    ¦ word ¦ 16 ¦ 2 ¦
    ¦ dword ¦ 32 ¦ 4 ¦
    ¦ fword ¦ 48 ¦ 6 ¦
    ¦ pword ¦ 48 ¦ 6 ¦
    ¦ qword ¦ 64 ¦ 8 ¦
    ¦ tbyte ¦ 80 ¦ 10 ¦
    ¦ tword ¦ 80 ¦ 10 ¦
    ¦ dqword ¦ 128 ¦ 16 ¦
    L----------+------+--------
     
  12. amvoz

    amvoz Member

    Публикаций:
    0
    Регистрация:
    12 ноя 2008
    Сообщения:
    653
    Что сам-то не написал?

    #include <stdio.h>
    int main () {
    printf (" int %d bytes\n", sizeof (int));
    printf (" short %d bytes\n", sizeof (short));
    printf (" long %d bytes\n", sizeof (long));
    printf (" char %d bytes\n", sizeof (char));
    printf (" float %d bytes\n", sizeof (float));
    printf ("double %d bytes\n", sizeof (double));
    printf (" bool %d bytes\n", sizeof (bool));
    getchar ();
    return 0;
    }