The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"80-битный тип с плавающей точкой"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [ Отслеживать ]

"80-битный тип с плавающей точкой"  
Сообщение от ElVovan _ on 21-Июл-08, 11:22 
Математические сопроцессоры процессоров х86 поддерживают математические операции с плавающей точкой для 80-битных величин, существует ли для компилятора gcc какая-нибудь прагма, позволяющая использовать эту возможность платформы? (например, чтоб тип double становился десятибайтовым)
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "80-битный тип с плавающей точкой"  
Сообщение от anonymous (??) on 21-Июл-08, 23:07 
http://en.wikipedia.org/wiki/Long_double ?

$ uname -s -m
Linux x86_64
$ gcc --version
gcc (Debian 4.3.1-2) 4.3.1
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ cat t.c
#include <stdio.h>

int main()
{
  printf("%u\n", sizeof(long double));
  return 0;
}

$ gcc t.c
$ ./a.out
16

----------8<----------8<----------8<----------8<----------

$ uname -s -m
Linux i686
$ gcc --version
gcc (Debian 4.3.1-2) 4.3.1
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ gcc t.c
$ ./a.out
12

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "80-битный тип с плавающей точкой"  
Сообщение от ElVovan _ on 23-Июл-08, 10:45 
Спасибо, это оно и есть, long double - как всё просто, своё fldt увидел... Жаль, что он в самом деле не двенадцатибайтовый...

Только как его теперь печатать?

int main(){
long double var;
var=Something();
printf("result: %lf\n",var);
return(0);
}

warning: double format, long double arg (arg 2)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "80-битный тип с плавающей точкой"  
Сообщение от anonymous (??) on 24-Июл-08, 23:58 
$ cat t.c
#include <stdio.h>

int main()
{
  long double x = 1.0;
  printf("%Lf\n", x);
  return 0;
}

$ gcc -W -Wall t.c
$ ./a.out
1.000000

man 3 printf ;)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру